platform ui
platform user Interface
Eclipse documentation banner
Overall 3.1 Plan
The 3.1 plan below is a proto plan and input from the community is very welcome.
Last revised: April 4, 2005

 

Next Milestone Plan (3.1 M7 : Friday May 13, 2005)
Key Dates
  • R3.1 Milestone 7: May 13, 2005
  • Last day of development: May 6, 2005
  • Build/test/fix pass: May 9 - May 13, 2005
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
    • news group monitoring (4 days)
    • bug cleanup/reviewing (4 days)
  • Development Highlights
    • Performance
    • Migration Guide
    • Foundation Class Library Support
    • TableViewer virtual support/ Deferred Content provider
    • Content Types (editor file associations and content types)
    • Bug Fixing
    • Action Contributions
    • Operations framework (support for undo/redo)
    • Preferences
    • Registry management/Dynamic UI
    • RCP
Plan details

Performance

  • Performance optimiztions in M7
    • fix performance bugs, write tests
    • participate in dynamic team
  • Optimize opening the "Colors and Fonts" preference page (esp. MacOS)
  • Performance Tests (verification and cleanup of existing perf. tests)
    • dp
      • ObjectContributionsPerformance#*
      • CommandsPerformanceTest#*
    • kh
      • EditorSwitchTest
      • performance.layout.*
    • sx
      • OpenCloseEditorTest#*
      • OpenClosePerspectiveTest#*
      • OpenCloseViewTest#*
      • PerspectiveSwitchTest#*
    • ne
      • OpenCloseWindowTest#*
      • OpenMultipleEditorTest#*
      • rcp.performance.*
    • mvm
      • WindowResizeTest#*
  • Analyze/bug fix/bug post of performance problems found (tc/ja)
  • Jobs (tc)
    • move more work to the background
    • analyze existing jobs to reduce blocking
    • progress view has issues regarding performance/bugs and stale jobs
  • Write performance tests
  • Other Performance options for UI
    • investigate progress logging on startup in splash or Workbench
  • RCP performance scenarios
    • startup on minimal RCP app

Migration Guide

  • update migration guide (ne/mvm/ac)

Foundation Class Library Support

Need to minimally document what to expect from the UI when running on Foundation

  • see bug 88053 (ne/kh/mvm)
  • see bug 88059

TableViewer virtual support/ Deferred Content provider

  • convert problems view to use new support (sx)
  • ISV doc (ac)

Content Types

Bug Fixing

  • UI has a large backlog of bugs, work on catching up with some of them
    • everyone is involved with this item

Action Contributions

  • Refactoring Improvements
    • includes the following bugs: 58661, 65906, 66982

Operations framework to support Undo/Redo

  • add more support for undoing/redoing actions in the workbench (sf/sl)
  • ISV doc (ac)

Preferences

  • polish the search/filter for preference pages (mvm/sl)
  • move content types page down to workbench (decouple link code)
  • update all cases where preferences appear in the user doc (ac)
    • need to get graphics first
  • update ISV doc with new preferences API and other features such as Product preference customization (ac/tc)

Registry management/Dynamic UI

  • convert action sets and decorators and themes (only remaing) UI registries to new RegistryManager format (kh)
  • ISV doc (ac)

RCP

  • enabling stand-alone JFace, packaging issue with JFace/commands and runtime (ne)
  • 3.1 M7 bugs
 
Next Milestone Plan (3.1 M6 : Friday April 1, 2005)
Key Dates
  • R3.1 Milestone 6: April 1, 2005
  • Last day of development: March 25, 2005
  • Build/test/fix pass: March 28 - April 1, 2005
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
    • news group monitoring (4 days)
    • bug cleanup/reviewing (4 days)
    • eclipsecon preparation (5 days)
  • Development Highlights
    • Logical Resources
    • TableViewer virtual support/ Deferred Content provider
    • Components Framework
    • Content Types (editor file associations and content types)
    • Bug Fixing
    • Action Contributions
    • Add Doc Quick Start Guide
    • Preferences
    • Registry management/Dynamic UI
    • Operations framework (support for undo/redo)
    • Performance
    • RCP
    • Capabilities
Plan details

Browser Support

  • add support for opening URLs from the workbench (dg/mvm)
  • see bug 69647 [Workbench] Need showURL API
  • see proposal

Properties View

  • PropertySheet patch with sorting support (ne)
  • General bug fixing

Logical resources

  • update decorator adapter support (kh/tc/mvalenta)
    • add decorator performance tests (tc)

TableViewer virtual support/ Deferred Content provider

  • convert problems view to use new support (sx)
  • ISV doc (ac)

Components Framework

  • focus on solving concrete nesting scenarios in the SDK, see 71125 (sx)
    • i.e. work with MV on sync view and Dirk with compare view to migrate to this
  • commit test suites to ensure coverage (sx)
  • ISV doc (sx/ac)

Content Types

Bug Fixing

  • UI has a large backlog of bugs, work on catching up with some of them
    • everyone is involved with this item

Action Contributions

  • Performance improvements
    • improvements to bindings, contexts and commands. This work is part of the ground work for "Improve action contributions" plan item (Bug 36968).
    • includes the following bugs: 61899, 78007, 82802, 82854, 84279
  • Add parameters to commands via bindings This is part of the work for the "Improve action contributions" plan item (Bug 36968).
    • includes the following bugs: 38789, 45396, 43691, 67180, 72285
  • Allow handlers to be contributed through XM. This is part of the "Improve action contributions" plan item (Bug 36968).
    • includes the following bugs: 27695
  • Allow listeners to the command and binding service This falls under both the "Provide common command infrastructure" plan item (Bug 37716) and the "Improve action contribtions" plan item (Bug 36968).
    • includes the following bugs: 38351, 53176
  • Refactoring Improvements
    • includes the following bugs: 58661, 65906, 66982
   

Add Doc Quick Start Guide

  • add a table format providing brief steps on how to get many of the common functions done (ac)
  • add links back to eclipse where appropriate (ac + team)

Preferences Pages Cleanup

  • update a number of preferences pages with missing links (sl)
  • add workspace preference page and re-organize page hierarchy more logically (sl)
  • minor bug fixing on pages such as "Perspective" and "Colors and Fonts" etc... (sl)

Preferences

  • update all cases where preferences appear in the user doc (ac)
    • need to get graphics first
  • update ISV doc with new preferences API and other features such as Product preference customization (ac/tc)
  • Preferences bugs
    • Working Copy support: https://bugs.eclipse.org/bugs/show_bug.cgi?id=82979
    • API to switch pages: https://bugs.eclipse.org/bugs/show_bug.cgi?id=80689

Registry management/Dynamic UI

  • convert action sets and decorators and themes (only remaing) UI registries to new RegistryManager format (kh)
  • ISV doc (ac)

Operations framework to support Undo/Redo

Performance

  • Create a Performance View (tc)
  • Logging to a performance log (tc/ja)
    • instrumentation in place for performance logging
    • SDK is put in performance logging mode for all non-Milestone builds
      • expect community support to log issues to specific teams etc...
  • Analyze/bug fix/bug post of performance problems found (tc/ja)
  • Jobs (tc)
    • move more work to the background
    • analyze existing jobs to reduce blocking
    • progress view has issues regarding performance/bugs and stale jobs
  • Convert NL catalogs to new core resource management story (tc)
  • Write performance tests

RCP

  • help re-work update plug-ins to support the workbench/IDE split (ne)
  • tweaks to WorkbenchAdvisor API
  • custom view prompt for save on close
  • enabling stand-alone JFace
  • 3.1 M6 bugs

Capabilities

  • new preference page, make it pluggable
  • add support for finer control of trigger point behaviour
  • make messages in dialogs more consistent

 

 

 

Next Milestone Plan (3.1 M5 : Friday Feb. 18, 2005)
Key Dates
  • R3.1 Milestone 5: February 18, 2005
  • Last day of development: February 11, 2005
  • Build/test/fix pass: February 14 - 18, 2005
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
    • news group monitoring (4 days)
    • bug cleanup/reviewing (4 days)
    • eclipsecon preparation (5 days)
  • Development Highlights
    • Logical Resources
    • TableViewer virtual support/ Deferred Content provider
    • Components Framework
    • Content Types (editor file associations and content types)
    • Action Contributions
    • Add Doc Quick Start Guide
    • Navigator Framework
    • Registry management/Dynamic UI
    • Operations framework (support for undo/redo)
    • Preferences
    • EclipseCon preparations
    • Operations framework to support Undo/Redo
    • RCP
    • Bug Fixing
Plan details

Logical resources

  • identify what other support is required (kh)
  • update decorator adapter support (kh)
    • add decorator performance tests (tc)

TableViewer virtual support/ Deferred Content provider

  • sort and filter in background (tc/sx)
  • provide thread aware content providers (tc/sx)
  • incremental content provider/release support for background processing of table updates (tc/sx)
  • ISV doc (ac)

Components Framework

  • release component framework, continue to gather community input (sx)
  • work with MV on sync view and Dirk with compare view to migrate to this
  • ISV doc (ac)

Content Types

Bug Fixing

  • UI has a large backlog of bugs, work on catching up with some of them
    • tc
    • sx
    • mvm
    • ne

Action Contributions

  • Propose API designed to unify/simplify and clarify (see bug 36968) the current set of contribution API's (dp)
    • write proposal to be posted on ui page
    • API should fix the following among others:
      • difficulty determining keybindings to show for context menu items.
      • understand and plan for support of ordering of items (eg. action sets)
      • ability to declare a command and handler once, and support placement of the command separately.
        • Enablement is defined by the handler
      • minimally support new API based on the existing code
    • write regression tests (M6)
    • build sample/example test plug-ins (M6)
    • time permitting enhance or re-write portions of the existing code for the following reasons:
      • does not support lazy updating in the UI
      • poor performance
      • complex submenu manager code
    • ISV doc showing migration steps and introducing the new API (ac, dp) (M6)
      • java doc up to date
    • see more information on the dynamic team page

Add Doc Quick Start Guide

  • add a table format providing brief steps on how to get many of the common functions done (ac)
  • add links back to eclipse where appropriate (ac)

Preferences

  • update all cases where preferences appear in the user doc (ac)
    • need to get graphics first
  • update ISV doc with new preferences API and other features such as Product preference customization (ac/tc)

Registry management/Dynamic UI

  • convert action sets and decorators and themes (only remaing) UI registries to new RegistryManager format (kh)
  • ISV doc (ac)

EclipseCon preparations

  • preparing talks + tutorials for eclipsecon

Operations framework to support Undo/Redo

RCP

  • help re-work update plug-ins to support the workbench/IDE split (ne)
  • bug 71150 (ne)
  • investigate exposing workbench API for RCP apps. (ne)
    • view registry (bug 54138)
    • new wizard menu (bug 73736)
    • perspective management (bug 71078)
 

 

Milestone Plan (3.1 M4 : Friday Dec. 17, 2004)
Key Dates
  • R3.1 Milestone 4: December 17, 2004
  • Last day of development: December 10, 2004
  • Build/test/fix pass: December 13 - 17, 2004
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
    • news group monitoring (4 days)
    • bug cleanup/reviewing (4 days)
  • Development Highlights
    • Logical Resources (support JM)
    • Content Types (editor file associations and content types)
    • Action Contributions
    • Preferences (complete preference enhancements)
    • Info Popup Window (generic popup window to improve consistancy)
    • Instrumentation plug-ins
    • Navigator Framework
    • Dialogs (tighten space used in dialogs)
    • Registry management/Dynamic UI (finish up and document how far the UI will support dynamic plug-ins)
    • Image Registry (should other image code be ported to this registry, can we optimize other image code for better cleanup)
    • Operations framework (support for undo/redo)
    • Components Framework
Plan details

Logical resources

  • support JM in applying patches to add some logical resource support to the SDK (kh)
 

Components Framework

  • design/prototype a component framework, gather community input (sx)
    • purpose is to support the following
      • robustness / leak proofing
      • nesting of components
      • allow components to be reused outside the workbench
      • scalability (allow an open-ended set of components (keyword RCP)
      • API versioning
      • ease of use
    • see the proposal
    • see also https://bugs.eclipse.org/bugs/show_bug.cgi?id=46207

Content Types

Info Popup Windows

  • provide general support for information pop-up windows (such as the Key Assist and Content Assist) windows (ik)

Action Contributions

  • Prototype sample API designed to unify/simplify and clarify (see bug 36968) the current set of contribution API's (dp)
    • API should fix the following among others:
      • difficulty determining keybindings to show for context menu items.
      • understand and plan for support of ordering of items (eg. action sets)
      • ability to declare a command and handler once, and support placement of the command separately.
        • Enablement is defined by the handler
      • see proposal coming soon
    • write regression tests
    • build sample/example test plug-ins
    • minimally support new API based on the existing code
      • time permitting enhance or re-write portions of the existing code for the following reasons:
        • does not support lazy updating in the UI
        • poor performance
        • complex submenu manager code
    • investigate lower level (e.g. JFace) related existing API to ensure consistancy
    • ISV doc showing migration steps and introducing the new API (ac, dp)
    • see more information on the dynamic team page

Preferences

  • Simplify preferences pages /dialog
    • update design (tc)
  • Establish a strategy for support for external/non-UI preferences (tc)
    • some preferences are not stored in the PreferenceStore
    • what should export do in this case?

Tests

  • write an initial session test testing editor save/restore/close on exit consistancy (kh)

Instrumentation

  • enhance instrumentation plug-ins with respect to needs for survey information for preferences etc... (bw)

Dialogs

  • review dialog bugs which have patches (bb)
  • investigate tightening up the space used in JFace dialogs (bb)

Navigator Framework

  • minimally provide a navigator view that anyone can provide content for, based on R3.0 (bb)
    • suitable for inclusion in an RCP app
  • community input by Nov 12, 2004 (bb)

Registry management/Dynamic UI

  • convert all UI registries to new RegistryManager format (kh)
  • use Core support to eliminate the registries that do not need to be kept in memory (kh)
  • use InstanceTracker to help cleanup when plug-ins go away. (kh)
  • evaluate how far we can expect to get with dynamic plug-ins in the workbench and what the benefit vs effort is (kh)
  • ISV doc (ac)

BIDI

  • suppliment BIDI support for views and editors (tc)
    • e.g. editor defaults slightly different then workspace

Operations framework to support Undo/Redo

RCP

  • help re-work update plug-ins to support the workbench/IDE split (ne)
  • bug 71150
  • bug 47165 better support for branding when no editors opened (ne)
  • investigate exposing workbench API for RCP apps. (ne)
    • view registry (bug 54138)
    • new wizard menu (bug 73736)
    • perspective management (bug 71078)

Image Registry

  • release M3 ImageRegistry to builds (ik)
  • port existing image code to this registry to Reference based registry / unify this with current image support, considering reference counting where possible (ik)
  • ISV doc, ik to follow up with ac (ik,ac)

Time permitting from M2, M3, not on M4 plan yet.

  • Put workbench contributions in XML
    • Actions (menu contributions)
    • Toolbar contributions
    • fonts and colours
  • Capabilities
    • Need doc on how is it used, help community
  • Contexts vs Capabilities
    • Doc on the difference and when to use them
    • FAQ (ongoing)
  • Marker filters (more advanced marker filters)

 
Milestone Plan (3.1 M3 : Friday Nov. 5, 2004)
Key Dates
  • R3.1 Milestone 3: November 5, 2004
  • Last day of development: October 29, 2004
  • Build/test/fix pass: November 1-5, 2004
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
  • Development Highlights
    • Action Contributions
    • Preferences
    • Instrumentation plug-ins
    • Navigator
    • Registry management/Dynamic UI
    • Image Registry
Plan details

Action Contributions

  • Identify key scenarios that need to be improved for ease-of-use of ActionContributions and commands frameworks (ne)
    • problems
      • can not easily contribute a keybinding in a context menu
      • can not control order of ActionSets in a menu
      • can not retarget an action on a context menu

Preferences

  • Simplify preferences pages /dialog
    • prototype simpler preference pages (tc/mvm)
  • Core integration (tc)
  • Establish a strategy for support for external/non-UI preferences (tc)

Tests

  • write an initial session test testing editor save/restore/close on exit consistancy (kh)
  • write session tests for performance (kh)
  • leak tests (kh)
    • editor leak test

Instrumentation

  • ensure instrumentation plug-ins work on R3.0 and R3.1 M2 (sx)

Navigator

  • prototype RCP generic navigator (bb)
    • find out what the needs/scenarios are in the RCP community

Registry management/Dynamic UI

  • convert all UI registries to new RegistryManager format (kh)
    • see the matrix off the UI home page
  • use Core support to eliminate the registries that do not need to be kept in memory (kh)
  • use InstanceTracker to help cleanup when plug-ins go away. (kh)
  • evaluate how far we can expect to get with dynamic plug-ins in the workbehcn and what the benefit vs effort is (kh)
  • ISV doc (ac)

BIDI

  • support BIDI in JFace (tc)

RCP

  • improve the presence of RCP on the UI team page (ne)

Image Registry

  • write a new public Image Registry , based on ActionContributionItem Image Registry (ik)
  • migrate the Workbench to this registry (ik)
    • put workbench contributions in XML
  • write tests for this registry (ik)
    • leak/dispose tests
    • image lookup tests
  • ISV doc (ac)

Incomplete from M2, not on M3 plan yet.

  • Put workbench contributions in XML (ik)
    • Actions (menu contributions)
    • Toolbar contributions
    • fonts and colours
  • Capabilities
    • Need doc on how is it used, help community
  • Contexts vs Capabilities
    • Doc on the difference and when to use them
    • FAQ (ongoing)
  • RCP
    • finish some loose ends for optional components (update)
    • decouple contributions (Actions) from where they will go in the workbench
  • Marker filters (more advanced marker filters)

 
Milestone Plan (3.1 M2 : September 24, 2004)
Overall goals for M2
  • Make good progress on implementation of high risk, high impact plan items.
  • Initiate solid performance testing scenarious for the UI
  • Begin Dynamic UI work regarding registries
Key Dates
  • R3.1 Milestone 2: September 24, 2004
  • Last day of development: September 17, 2004
  • Build/test/fix pass: September 20-24, 2004
General Items
  • General
    • inbox tracking (5 days)
    • build submissions (3 days)
  • Development
    • Registry management/Dynamic UI
    • Performance
    • Presentation merge/cleanup
    • Generic Navigator
    • Key subsystem/ key map preference page
    • Contributions converted from code to XML
    • Capability cleanup/ongoing work
    • RCP ongoing
    • Marker Filter enhancements
    • Listener leak cleanup
    • BIDI
    • Image sharing, management
Plan details

Andrew

  • Registry management changes (see below)
  • Finish system summary work?
  • Performance test writing
  • Merge presentation code (see below, Stefan, but 69097)

Billy

  • Generic Navigator (talk to Nick)
  • Performance test writing

Deb/Andrew
  • Registry management/Dynamic UI
    • push a registry story to core, rather then having separate UI registries for various
    • use this solution to unify UI registries which are currently spread out throughout
    • once registries cleaned up, investigate dynamic UI solutions for plug-in removal
  • Performance test writing

 

Doug
  • Key bindings/part activation/contexts
    • Document supported scenarios with respect to
    • Contexts
    • Keys
    • Unbinding keys
    • Relationships between UI and contexts+keys+commands
    • understand scenarios between part activation and key bindings
    • What IS/IS NOT supported
    • Ensure tests exist that exercise above documented behaviour
    • Cleanup subsystem for keys+contexts given what was learned from above and R3.0.
    • More efficiency (CPU and memory intensive)
    • New tests
    • Implement new key preference page displaying a table of all available keys ( Bug 37439)
  • Performance test writing

     

Ines
  • Put workbench contributions in XML
    • Actions (menu contributions)
    • Toolbar contributions
    • Image registry
    • fonts and colours

Kim
  • Capabilities
    • Need doc on how is it used, help community
  • Contexts vs Capabilities
    • Doc on the difference and when to use them
    • FAQ (ongoing)
  • UI popup menu test
  • Performance tests/setup framework (if needed)

Mvm
  • Outreach
    • Facilitate options for Platform UI to gather information on how customers are using the UI and what is needed
  • Performance
    • Build on UI team performance tests.
Nick
  • RCP
    • finish some loose ends for optional components (help + update)
    • help has dependencies on the IDE (like menu references in the IDE)
    • decouple contributions (Actions) from where they will go in the workbench
  • Performance test writing
Stefan
  • Marker filters (more advanced marker filters)
  • Simpler presentation utility classes/merge common presentation code (Andrew)
  • Basically desire to get away from a model which is inherently prone to client software leaving listeners and other references around which cases leaks and memory bloat.
    • decouple parts from the workbench, when a part goes away all listeners automatically unhooked (no references hanging around causing object leaks)
    • Investigate OSGI model of services + nested services?
  • Performance test writing

Tod
  • BIDI
    • support BIDI in JFace
  • Encoding/NL
    • move encodings to core
  • Images and overlays, generic support/prevents leaks and duplication
    • think about solution while awake with baby in middle of night
  • Performance test writing
Cory
  • Rework place-holders in the UI.
 
Legend
item is under development. item is under investigation.
item is finished. ( ) item is time permitted.
[>3.1] item is deferred.