Jump to: navigation, search

Difference between revisions of "RapPlan"

(Draft plan for RAP 1.0)
(Draft plan for RAP 1.2)
(48 intermediate revisions by 5 users not shown)
Line 7: Line 7:
 
To ensure the planning process is transparent and open to the entire Eclipse community, we (the RAP project team) post plans in an embryonic form and revise them throughout the release cycle.
 
To ensure the planning process is transparent and open to the entire Eclipse community, we (the RAP project team) post plans in an embryonic form and revise them throughout the release cycle.
  
 +
==Draft plan for RAP 1.3==
 +
 +
Follow the link to the [http://www.eclipse.org/projects/project-plan.php?projectid=rt.rap RAP 1.3 Plan].
 +
 +
==Draft plan for RAP 1.2==
 +
 +
Follow the link to the [http://www.eclipse.org/projects/project-plan.php?projectid=technology.rap RAP 1.2 Plan].
 +
 +
==Draft plan for RAP 1.1==
 +
 +
Themes and priorities:
 +
* Performance (client startup, client memory footprint)
 +
* Extend SWT subset: Display#readAndDispatch(), key, mouse, dnd
 +
* Extend workbench functionality (take advantage of extended SWT subset)
 +
 +
* 2008-01-07 M1 Performance (Client side)
 +
* 2008-02-20 M2 Display#readAndDispatch(), <s>Events & Listeners (Key, Mouse), workbench</s>, Table Keyboard Navigation, Image Decoration
 +
* 2008-04-07 M3 <s>Drag & Drop, workbench</s> MouseEvents, Improved Theming Support, <s>Split off LCA implementations in fragment</s>, Start work on qx 0.8 adaptation, Activity Support, PreferenceStore,
 +
* 2008-05-06 M4 <s>qooxdoo 0.8</s>, Split off LCA implementations in fragment, Adopt 3.4 workbench RCP code base, <s>migrate to qooxdoo 0.7.3</s>.
 +
* 2008-05-20 RC1, update to latest qooxdoo bugfix release (0.7.3).
 +
* 2008-05-27 RC2
 +
* 2008-06-03 RC3
 +
* 2008-06-10 RC4
 +
 +
The release build will be delivered end of June 2008
 +
 +
* 2008-09-23 SR1 bug fixes for 1.1.1 Service Release
 +
* 2009-02-25 SR2 bug fixes for 1.1.2 Service Release
 +
 +
[[RAP/Ramp down Ganymede|Ganymede Ramp down plan]]
 +
 +
[[Ganymede/Signoffs#Rich_Ajax_Platform_.28RAP.29|Ganymede Signoffs]]
  
 
==Draft plan for RAP 1.0==
 
==Draft plan for RAP 1.0==
  
 +
''Maintenance release for 1.0 (1.0.1): 07 December 2007''
 +
* critical bugs
 +
* i18n
 +
 +
 +
''Roadmap 1.0''
 
* 2006-06 - 2006-09 initial code contribution: Java component library for UI development (done)
 
* 2006-06 - 2006-09 initial code contribution: Java component library for UI development (done)
 
* 2006-10: Moving widget toolkit to org.eclipse packages, re(de)fine widget toolkit api (done / without milestone release)
 
* 2006-10: Moving widget toolkit to org.eclipse packages, re(de)fine widget toolkit api (done / without milestone release)
Line 17: Line 55:
 
* 2007-06-08 '''M4''': move to qooxdoo 0.7, finalize move to a RCP API subset, implement untyped listeners, adapt codebase to RCP 3.3, theme management, expand JFace, Workbench implementation (open/close workbench parts, ...) (done)
 
* 2007-06-08 '''M4''': move to qooxdoo 0.7, finalize move to a RCP API subset, implement untyped listeners, adapt codebase to RCP 3.3, theme management, expand JFace, Workbench implementation (open/close workbench parts, ...) (done)
 
* 2007-07-13 '''M5''': background process management (ProgressMonitor, Display.syncExec ...), finalize new table component, <s>branding functionality,</s> performance optimization (client side widget cache), expand Workbench implementation (perspective extensions, perspective switcher, ...), client side font size calculation, data binding (done)
 
* 2007-07-13 '''M5''': background process management (ProgressMonitor, Display.syncExec ...), finalize new table component, <s>branding functionality,</s> performance optimization (client side widget cache), expand Workbench implementation (perspective extensions, perspective switcher, ...), client side font size calculation, data binding (done)
* 2007-08-17 '''M6'''
+
* 2007-08-17 '''M6''': (done)
 
** Provide all API for Release 1.0
 
** Provide all API for Release 1.0
 
*** check for UnsupportedOperationException (done)
 
*** check for UnsupportedOperationException (done)
Line 35: Line 73:
 
*** theming
 
*** theming
 
*** make index page body configurable
 
*** make index page body configurable
* 2007-09-14 '''RC1''': Code freeze for 1.0 (IN PROGRESS)
+
 
 +
 
 +
* 2007-09-28 '''RC1''': Code freeze for 1.0
 
** final performance optimization
 
** final performance optimization
 
** error handling
 
** error handling
*** deliver exceptions as HTML page with HTTP status 500
+
*** deliver exceptions as HTML page with HTTP status 500 (done)
*** change client-side response processing to react on HTTP status != 200
+
*** change client-side response processing to react on HTTP status != 200 (done)
*** define a PhaseId whose listeners are called before and after the life cycle executes, regardless whether an exception occurred or not
+
 
** robustness
 
** robustness
*** verify JavaScript response (e.g. detect initial comment) and react accordingly (warning, session restart)
+
*** verify JavaScript response (e.g. detect initial comment) and react accordingly (warning, session restart) (done)
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=190762 190762] "confirm exit" message in branding (displayed when pressing F5, location change)
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=190762 190762]</s> "confirm exit" message in branding (displayed when pressing F5, location change) (done)
*** handle requests from different browser tabs/windows: deliver HTML page that informs the user that there is already a session running and provide a link to start a new session
+
*** handle requests from different browser tabs/windows: deliver HTML page that informs the user that there is already a session running and provide a link to start a new session (done)
*** request versioning (request counter): in case of an invalid request, send above mentioned HTML page
+
*** request versioning (request counter): in case of an invalid request, send above mentioned HTML page (done)
*** handle deep links when there is already a session running: inform user that request has been processed by existing session, optionally send request when activating browser tab/window
+
*** handle deep links when there is already a session running: inform user that request has been processed by existing session, optionally send request when activating browser tab/window (done)
*** Message to the user when connection is lost (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=183213 183213]): let the user retry to send the request, terminate/clean up client application when problem persists. Re-check [https://bugs.eclipse.org/bugs/show_bug.cgi?id=188045 188045]
+
*** Message to the user when connection is lost (see <s>{{bug|183213}}</s>): let the user retry to send the request, terminate/clean up client application when problem persists. (done)
 
*** move initialization code from EngineConfigWrapper to bundle startup
 
*** move initialization code from EngineConfigWrapper to bundle startup
 
** fixing of major bugs
 
** fixing of major bugs
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=186804 186804] Can't set a textfield value if text is too long, verify that this also solves [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200910 200910]
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=186804 186804]</s> Can't set a textfield value if text is too long, verify that this also solves <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200910 200910]</s> (done)
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=187258 187258] Support doit on ShellEvent for shellClosing
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=187258 187258]</s> Support doit on ShellEvent for shellClosing (done)
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=187540 187540] Dynamically generated context menus do not lay out correctly
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=187540 187540]</s> Dynamically generated context menus do not lay out correctly (done)
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=191964 191964] SWT.MULTI for Tree broken
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=191964 191964]</s> SWT.MULTI for Tree broken
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=196911 196911] Invalid value Text#getText with opened shell
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=196911 196911]</s> Invalid value Text#getText with opened shell (done)
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201286 201286] Move ILifeCycle to non-internal package
+
*** Implement 'empty' API: <s>VerifyEvents</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200394 200394]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200396 200396]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200397 200397]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=187252 187252]</s> (done)
*** Implement 'empty' API: VerifyEvents, [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200394 200394], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200396 200396], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200397 200397], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=187252 187252]
+
*** Fix bugs introduced with API cleanup: <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=201403 201403]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=201225 201225]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=201286 201286]</s>, <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=201528 201528]</s> (done)
*** Fix bugs introduced with API cleanup: [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201403 201403], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201225 201225], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201286 201286]
+
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=190762 190762]</s> Ask before browser window/tab is closed
* 2007-09-28 '''v1.0''': Release 1.0  
+
*** [https://bugs.eclipse.org/bugs/show_bug.cgi?id=188045 188045] Problem with character-encoding of request data
 +
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200390 200390]</s> URLImageDescriptor cannot resolve image URLs with platform:/ schema
 +
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=199965 199965]</s> Activate event on shell open
 +
*** <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=201080 201080]</s> [Text] disposing of focused text widget causes JavaScript error (done)
 +
 
 +
 
 +
* 2007-10-10 '''v1.0''': Release 1.0  
 
** fixing of critical bugs
 
** fixing of critical bugs
  
Line 64: Line 109:
 
'''The work will be conducted in the following components'''
 
'''The work will be conducted in the following components'''
  
==Component: org.eclipse.rap.ui==
+
===Component: org.eclipse.rap.ui===
  
=== Workbench ===
+
==== Workbench ====
 
* WorkbenchAdvisor, WorkbenchWindowAdvisor, ActionBarAdvisor
 
* WorkbenchAdvisor, WorkbenchWindowAdvisor, ActionBarAdvisor
 
* extension of menubars / toolbars by extension points
 
* extension of menubars / toolbars by extension points
 
* WorkbenchWindow SelectionService
 
* WorkbenchWindow SelectionService
 
* WorkbenchPage PartListener
 
* WorkbenchPage PartListener
 
 
 
* IWorkbenchPart, IViewPart
 
* IWorkbenchPart, IViewPart
 
* IWorkbenchPart: maximize, minimize, restore (done)
 
* IWorkbenchPart: maximize, minimize, restore (done)
Line 78: Line 121:
 
* IWorkbenchPart: Close-Button (configuarble)
 
* IWorkbenchPart: Close-Button (configuarble)
 
* Toolbar, Menu for ViewParts
 
* Toolbar, Menu for ViewParts
 
 
 
* ActionSets: IWorkbenchWindowActionDelegate
 
* ActionSets: IWorkbenchWindowActionDelegate
  
=== Perspectives ===
+
==== Perspectives ====
 
* definition of perspectives by IPerspectiveFactory (partly done - finalizing implementation e.g. StandaloneView)
 
* definition of perspectives by IPerspectiveFactory (partly done - finalizing implementation e.g. StandaloneView)
 
* Perspective extensions
 
* Perspective extensions
Line 90: Line 131:
  
  
==Component: org.eclipse.rap.jface==
+
===Component: org.eclipse.rap.jface===
  
 
* Actions
 
* Actions
Line 100: Line 141:
 
* Dialog Framework (done for the most frequently used classes)
 
* Dialog Framework (done for the most frequently used classes)
  
==Component: org.eclipse.rap.rwt==
+
===Component: org.eclipse.rap.rwt===
  
 
* Font: base implementation (done)
 
* Font: base implementation (done)
 
* Font: font size calculation
 
* Font: font size calculation
 
 
 
* Image: ImageLoader with size calculation
 
* Image: ImageLoader with size calculation
 
* Table: Extending the current implementation to match SWT (e.g. inline-editing, bounds, font, and color for TableItem, images, etc.)
 
* Table: Extending the current implementation to match SWT (e.g. inline-editing, bounds, font, and color for TableItem, images, etc.)
Line 114: Line 153:
 
* Menu: Extending the functionality to match SWT (e.g. enable and visible properties, ArmEvent for MenuItem, MenuEvent for Menu, etc.)
 
* Menu: Extending the functionality to match SWT (e.g. enable and visible properties, ArmEvent for MenuItem, MenuEvent for Menu, etc.)
  
==Community involvement desirable==
+
===Community involvement desirable===
  
 
'''the implementation of the following functionality will largely depend on community involvement'''
 
'''the implementation of the following functionality will largely depend on community involvement'''
Line 125: Line 164:
 
* Columns for the tree widget (used e.g. by the PropertySheet) (implemented by RAP team)
 
* Columns for the tree widget (used e.g. by the PropertySheet) (implemented by RAP team)
  
==Out of scope for version 1.0==
+
===Out of scope for version 1.0===
  
 
* IEditorPart, IEditorInput (done)
 
* IEditorPart, IEditorInput (done)
Line 139: Line 178:
 
* StyledText
 
* StyledText
 
* Cursor
 
* Cursor
 +
 +
[[Category:RAP]]

Revision as of 09:59, 24 August 2009

| RAP wiki home | RAP project home |

RAP development plan

This document is a draft and is subject to change, we welcome all feedback.

To ensure the planning process is transparent and open to the entire Eclipse community, we (the RAP project team) post plans in an embryonic form and revise them throughout the release cycle.

Draft plan for RAP 1.3

Follow the link to the RAP 1.3 Plan.

Draft plan for RAP 1.2

Follow the link to the RAP 1.2 Plan.

Draft plan for RAP 1.1

Themes and priorities:

  • Performance (client startup, client memory footprint)
  • Extend SWT subset: Display#readAndDispatch(), key, mouse, dnd
  • Extend workbench functionality (take advantage of extended SWT subset)
  • 2008-01-07 M1 Performance (Client side)
  • 2008-02-20 M2 Display#readAndDispatch(), Events & Listeners (Key, Mouse), workbench, Table Keyboard Navigation, Image Decoration
  • 2008-04-07 M3 Drag & Drop, workbench MouseEvents, Improved Theming Support, Split off LCA implementations in fragment, Start work on qx 0.8 adaptation, Activity Support, PreferenceStore,
  • 2008-05-06 M4 qooxdoo 0.8, Split off LCA implementations in fragment, Adopt 3.4 workbench RCP code base, migrate to qooxdoo 0.7.3.
  • 2008-05-20 RC1, update to latest qooxdoo bugfix release (0.7.3).
  • 2008-05-27 RC2
  • 2008-06-03 RC3
  • 2008-06-10 RC4

The release build will be delivered end of June 2008

  • 2008-09-23 SR1 bug fixes for 1.1.1 Service Release
  • 2009-02-25 SR2 bug fixes for 1.1.2 Service Release

Ganymede Ramp down plan

Ganymede Signoffs

Draft plan for RAP 1.0

Maintenance release for 1.0 (1.0.1): 07 December 2007

  • critical bugs
  • i18n


Roadmap 1.0

  • 2006-06 - 2006-09 initial code contribution: Java component library for UI development (done)
  • 2006-10: Moving widget toolkit to org.eclipse packages, re(de)fine widget toolkit api (done / without milestone release)
  • 2007-02 M1: Basic WebWorkbench implementation running on OSGi (functionality implemented - release targeted for first week of february) (done)
  • 2007-03 M2: extending workbench functionality, initial work on Perspective switcher, extending jface functionality (dialog framework) (done)
  • 2007-04-27 M3: move to org.eclipse.swt, org.eclipse.jface, org.eclipse.ui namespaces, .war deployment, ViewActions (basic implementation), Taborder (done)
  • 2007-06-08 M4: move to qooxdoo 0.7, finalize move to a RCP API subset, implement untyped listeners, adapt codebase to RCP 3.3, theme management, expand JFace, Workbench implementation (open/close workbench parts, ...) (done)
  • 2007-07-13 M5: background process management (ProgressMonitor, Display.syncExec ...), finalize new table component, branding functionality, performance optimization (client side widget cache), expand Workbench implementation (perspective extensions, perspective switcher, ...), client side font size calculation, data binding (done)
  • 2007-08-17 M6: (done)
    • Provide all API for Release 1.0
      • check for UnsupportedOperationException (done)
      • move required classes from w4t to rwt bundle, refactor package names (done)
      • revise request parameter names (w4t_startup, w4t_custom_service_handler) (done)
      • introduce org.eclipse.ui plug-in (done)
      • resolve api differences for Dialogs, Color, Font, Image (done)
      • mark Adaptable non-api (done)
      • Provide facade for TextSizeDetermination (done)
      • Define API for custom widget developers
    • performance optimization
    • finalize TableViewer, TreeViewer
    • branding functionality (done)
      • servlet name
      • favicon
      • title
      • theming
      • make index page body configurable


  • 2007-09-28 RC1: Code freeze for 1.0
    • final performance optimization
    • error handling
      • deliver exceptions as HTML page with HTTP status 500 (done)
      • change client-side response processing to react on HTTP status != 200 (done)
    • robustness
      • verify JavaScript response (e.g. detect initial comment) and react accordingly (warning, session restart) (done)
      • 190762 "confirm exit" message in branding (displayed when pressing F5, location change) (done)
      • handle requests from different browser tabs/windows: deliver HTML page that informs the user that there is already a session running and provide a link to start a new session (done)
      • request versioning (request counter): in case of an invalid request, send above mentioned HTML page (done)
      • handle deep links when there is already a session running: inform user that request has been processed by existing session, optionally send request when activating browser tab/window (done)
      • Message to the user when connection is lost (see bug 183213): let the user retry to send the request, terminate/clean up client application when problem persists. (done)
      • move initialization code from EngineConfigWrapper to bundle startup
    • fixing of major bugs
      • 186804 Can't set a textfield value if text is too long, verify that this also solves 200910 (done)
      • 187258 Support doit on ShellEvent for shellClosing (done)
      • 187540 Dynamically generated context menus do not lay out correctly (done)
      • 191964 SWT.MULTI for Tree broken
      • 196911 Invalid value Text#getText with opened shell (done)
      • Implement 'empty' API: VerifyEvents, 200394, 200396, 200397, 187252 (done)
      • Fix bugs introduced with API cleanup: 201403, 201225, 201286, 201528 (done)
      • 190762 Ask before browser window/tab is closed
      • 188045 Problem with character-encoding of request data
      • 200390 URLImageDescriptor cannot resolve image URLs with platform:/ schema
      • 199965 Activate event on shell open
      • 201080 [Text] disposing of focused text widget causes JavaScript error (done)


  • 2007-10-10 v1.0: Release 1.0
    • fixing of critical bugs


The work will be conducted in the following components

Component: org.eclipse.rap.ui

Workbench

  • WorkbenchAdvisor, WorkbenchWindowAdvisor, ActionBarAdvisor
  • extension of menubars / toolbars by extension points
  • WorkbenchWindow SelectionService
  • WorkbenchPage PartListener
  • IWorkbenchPart, IViewPart
  • IWorkbenchPart: maximize, minimize, restore (done)
  • IWorkbenchPart: Workbench Actions for opening workbench parts
  • IWorkbenchPart: Close-Button (configuarble)
  • Toolbar, Menu for ViewParts
  • ActionSets: IWorkbenchWindowActionDelegate

Perspectives

  • definition of perspectives by IPerspectiveFactory (partly done - finalizing implementation e.g. StandaloneView)
  • Perspective extensions
  • Perspective Switcher
  • Perspective Actions(open, close etc)
  • Perspective Name in WindowTitle


Component: org.eclipse.rap.jface

  • Actions
  • MenuManager
  • CoolBarManager
  • Structured Viewers: TreeViewer, TableViewer
  • WindowManager, Window, ApplicationWindow
  • ImageDescriptor, ImageRegistry
  • Dialog Framework (done for the most frequently used classes)

Component: org.eclipse.rap.rwt

  • Font: base implementation (done)
  • Font: font size calculation
  • Image: ImageLoader with size calculation
  • Table: Extending the current implementation to match SWT (e.g. inline-editing, bounds, font, and color for TableItem, images, etc.)
  • Tree: Extending the functionality to match SWT Tree (e.g. selection should not cause expand event, Images etc.)
  • Browser-Widget (mostly done)
  • Z-Index (done)
  • Modify-Event (done for existing widgets as there are Text and Spinner)
  • Menu: Extending the functionality to match SWT (e.g. enable and visible properties, ArmEvent for MenuItem, MenuEvent for Menu, etc.)

Community involvement desirable

the implementation of the following functionality will largely depend on community involvement

  • StatusBar (implemented by RAP team)
  • TraverseEvents? (deferred)
  • Short-Cuts (Accelerator) (deferred)
  • Preferences (deferred)
  • Drag&Drop of Workbenchparts (deferred)
  • Columns for the tree widget (used e.g. by the PropertySheet) (implemented by RAP team)

Out of scope for version 1.0

  • IEditorPart, IEditorInput (done)
  • Workspace, Resources
  • Help System, context sensitive help, HelpEvents
  • KeyEvents
  • Low-Level-MouseEvents
  • Paint-Events
  • Undocked ViewParts
  • Navigation
  • Accessibility
  • SWT-AWT - Bridge
  • StyledText
  • Cursor