Difference between revisions of "Rap10RC1 News"

From Eclipsepedia

Jump to: navigation, search
(RAP 1.0 RC1 - New and Noteworthy)
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
===RAP 1.0 RC1 - New and Noteworthy===
 
===RAP 1.0 RC1 - New and Noteworthy===
  
This document will become the New and Noteworthy page for the next milestone release and meanwhile serves to document the development progress.
+
Here are some of the more noteworthy things available in the first release candidate build (September 28, 2007) which is now available for [http://www.eclipse.org/rap/downloads.php download].
  
All features documented here can be obtained from [http://www.eclipse.org/rap/cvs.php CVS HEAD].
+
==RAP Common==
 +
{|
 +
|-valign="top" align="left"
 +
|width="20%"|'''Empty API implemented'''
 +
|width="80%"|
 +
With the [[Rap10M6_News|last milestone]] we provided some API beforehand without actually implementing it. These gaps are now being filled in:
 +
* <code>Table#getItem(Point)</code> now returns the <code>TableItem</code> at the given point. With this change <code>TableViewer#getItemAt(Point)</code> also returns something useful (see also <s>[https://bugs.eclipse.org/bugs/show_bug.cgi?id=200397 200397]</s>).
 +
* <code>VerifyListener</code>s are implemented for <code>Text</code> and <code>Combo</code>.<br /> Please be aware that the current implementation sends <code>VerifyEvent</code>s delayed, as it is done with <code>ModifyEvent</code>s. This means that if you alter or cancel (by setting <code>doit</code> to <code>false</code>) the changes in your <code>VerifyListener#verifyText</code> code, it may override changes that meanwhile have taken place client-side.
 +
* <code>Combo</code> has everything related to be editable which we introduced before API freeze (see {{bug|187252}})
 +
** <code>getText()</code>
 +
** <code>setText()</code>
 +
** <code>indexOf(String, int)</code>
 +
** <code>indexOf(String)</code>
 +
** <code>addModifyListener()</code>
 +
** <code>removeModifyListener()</code>
 +
** <code>addVerifyListener()</code>
 +
** <code>removeVerifyListener()</code>
 +
Note that the combo now is editable by default (as SWT) and you need to set the <code>SWT.READ_ONLY</code> style bit to prevent editing.
  
 +
|-valign="top" align="left"
 +
|width="20%"|'''API cleanup revisited'''
 +
|width="80%"|
 +
During the API cleanup in [[Rap10M6_News|M6]], a few things slipped through which are now fixed. See bugs [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201225 201225], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201286 201286], [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201403 201403] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=201528 201528] for more details.
  
( no news yet )
+
Without having a bug report of their own, these changes are also worth to be mentioned:
 +
* <code>AbstractWidgetLCA#getTypePoolId</code> no longer throws <code>IOException</code>
 +
* the last argument, named <code>clip</code>, was removed from <code>WidgetLCAUtil#writeBounds</code>. The method now works as if it was set to <code>false</code>
 +
* the <code>ControlLCAUtil#writeImage</code> wasn't used in RWT and therefore removed
 +
* the signature of <code>ControlLCAUtil#writeStyleFlags( Widget )</code> was changed to  <code>writeStyleFlags( Control )</code>
  
 +
 +
|-valign="top" align="left"
 +
|width="20%"|'''Exit confirmation'''
 +
|width="80%"|
 +
To have the ability to warn the user before leaving the application the <code>org.eclipse.rap.ui.branding</code> extension point provides a new attribute called <code>exitConfirmation</code>. If the value is empty nothing will happen but in the case you provide a message it will be shown to the user before he can close the page or locate to another one.
 +
Note that this only works for Internet Explorer and Firefox. Opera and Safari have no possibility to prevent closing the current window/tab.
 +
 +
[[Image:RAPExitConfirmation.png]]
 +
 +
|}
 +
 +
==RWT==
 +
{|
 +
|-valign="top" align="left"
 +
|width="20%"|'''Robustness'''
 +
|width="80%"|
 +
Several enhancements were made to react on unexpected situations more smoothly.
 +
 +
When a request is sent to an expired or otherwise invalidated session, now a (yet very basic) HTML page informs the user what happened and provides a link to restart the session.
 +
 +
To deal with bad connections or temporarily unavailable servers, now a message box appears, that gives the user a chance to retry sending the request.
 +
 +
[[Image:RAPConnectionErrorRetry.png]]
 +
 +
|-valign="top" align="left"
 +
|width="20%"|'''Error Handling'''
 +
|width="80%"|
 +
In the case of a server-side programming error that leads to an exception which is not handled by the Workbench or other error handling facilities, it is now passed to the servlet engine. The client-side reacts accordingly and displays the error page as it was sent by the servlet engine.
 +
 +
In case of a JavaScript error, that occurs while the server response is being processed, an error page displays the error message along with the code that caused it.
 +
|}
  
 
The above features are just the ones that are new since the previous milestone build. Summaries for earlier milestone builds:
 
The above features are just the ones that are new since the previous milestone build. Summaries for earlier milestone builds:

Revision as of 14:58, 28 September 2007

| RAP wiki home | RAP project home |

RAP 1.0 RC1 - New and Noteworthy

Here are some of the more noteworthy things available in the first release candidate build (September 28, 2007) which is now available for download.

RAP Common

Empty API implemented

With the last milestone we provided some API beforehand without actually implementing it. These gaps are now being filled in:

  • Table#getItem(Point) now returns the TableItem at the given point. With this change TableViewer#getItemAt(Point) also returns something useful (see also 200397).
  • VerifyListeners are implemented for Text and Combo.
    Please be aware that the current implementation sends VerifyEvents delayed, as it is done with ModifyEvents. This means that if you alter or cancel (by setting doit to false) the changes in your VerifyListener#verifyText code, it may override changes that meanwhile have taken place client-side.
  • Combo has everything related to be editable which we introduced before API freeze (see bug 187252)
    • getText()
    • setText()
    • indexOf(String, int)
    • indexOf(String)
    • addModifyListener()
    • removeModifyListener()
    • addVerifyListener()
    • removeVerifyListener()

Note that the combo now is editable by default (as SWT) and you need to set the SWT.READ_ONLY style bit to prevent editing.

API cleanup revisited

During the API cleanup in M6, a few things slipped through which are now fixed. See bugs 201225, 201286, 201403 and 201528 for more details.

Without having a bug report of their own, these changes are also worth to be mentioned:

  • AbstractWidgetLCA#getTypePoolId no longer throws IOException
  • the last argument, named clip, was removed from WidgetLCAUtil#writeBounds. The method now works as if it was set to false
  • the ControlLCAUtil#writeImage wasn't used in RWT and therefore removed
  • the signature of ControlLCAUtil#writeStyleFlags( Widget ) was changed to writeStyleFlags( Control )


Exit confirmation

To have the ability to warn the user before leaving the application the org.eclipse.rap.ui.branding extension point provides a new attribute called exitConfirmation. If the value is empty nothing will happen but in the case you provide a message it will be shown to the user before he can close the page or locate to another one. Note that this only works for Internet Explorer and Firefox. Opera and Safari have no possibility to prevent closing the current window/tab.

RAPExitConfirmation.png

RWT

Robustness

Several enhancements were made to react on unexpected situations more smoothly.

When a request is sent to an expired or otherwise invalidated session, now a (yet very basic) HTML page informs the user what happened and provides a link to restart the session.

To deal with bad connections or temporarily unavailable servers, now a message box appears, that gives the user a chance to retry sending the request.

RAPConnectionErrorRetry.png

Error Handling

In the case of a server-side programming error that leads to an exception which is not handled by the Workbench or other error handling facilities, it is now passed to the servlet engine. The client-side reacts accordingly and displays the error page as it was sent by the servlet engine.

In case of a JavaScript error, that occurs while the server response is being processed, an error page displays the error message along with the code that caused it.

The above features are just the ones that are new since the previous milestone build. Summaries for earlier milestone builds:

New for RAP 1.0 milestone build M6 (August 17, 2007)
New for RAP 1.0 milestone build M5 (July 13, 2007)
New for RAP 1.0 milestone build M4 (June 08, 2007)
New for RAP 1.0 milestone build M3 (April 27, 2007)
New for RAP 1.0 milestone build M2 (March 2, 2007)