Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
RAP/Protocol Changes
< RAP
This document lists all changes between minor RAP version in how it uses it's protocol.
"S->C" marks a change in what the web client sends to the server / the server expect from the client.
"C->S" marks a change in what the server sends to the client / the web client expect from the server.
Contents
Changes in RAP 2.2
General Changes
- Operations are now processed by the server in the order they exist in the protocol JSON message. If set/notify operation exists multiple times in the same message, it is processed multiple times on the server. Before only the last set/notify operation per property/event type was processed.
Changes in existing Object Types
- rwt.widgets.Shell
- C->S: The “mode” property has three states “minimized”, “maximized” and “normal”. Before, the WebClient did send null instead of “normal”.
- C->S: If “mode” and “bounds” are sent together to the server, “mode” must now be set first.
- C->S: Maximized shells must send a notify "Resize" and its bounds when display changes its size.
- rwt.widgets.Browser
- C->S: Replaced executeFunction and executeArguments properties with a call operation: executeFunction { name : ..., arguments: ...}.
- C->S: Replaced executeResult and evaluateResult properties with a call operations: evaluationSucceeded { result: ... } and evaluationFailed {} [iOS done] [Android done]
- rwt.widgets.Text, rwt.widgets.Combo,
- C->S/S->C: Replaced selectionStart and selectionLength with single property selection : [ start, end ]
- rwt.widgets.TabFolder
- C->S: Send “selection” property from the client (contains id of the selected item, in addition to notify "Selection")
- rwt.widgets.Grid (Tree and Table, but not Nebula Grid)
- C->S: New Property "rowTemplate", contains array of objects describing template cells
- S->C: Notify "Selection" contains "text" if a selectable tempalte cell with name is clicked.
- rwt.widgets.FileUpload
- S->C: Property "style" may now contain "MULTI" if SWT.MULTI style is set
- C->S: Property "fileName" (string) has been replaced with "fileNames" (array of string)
- rwt.widgets.*** [Button, Canvas, Combo, Composite, Label, List, ProgressBar, Scale, Spinner, Text]
- S->C: New call operations (methods) "addListener" and "removeListener" (expect two properties, "listenerId" and type)
- C->S: The following existing properties can now ALSO set in Client->Server direction: background, foreground, visibility, enabled, cursor, text, selection
- rwt.widgtes.* (all widgets)
- S->C: New property "toolTipMarkupEnabled" (boolean)
New Object Types
- rwt.scripting.Function
- Representing a ClientListener instance. Expects two properties on creation, "scriptCode" and "name"
Changes in RAP 2.3
Changes in existing Object Types
- rwt.widgets.Grid
- S->C: Row Templates use different syntax for left/top/right/bottom: [ percentage, offset ] insted of offset
- rwt.widgets.DateTime
- C->S: Now sends DefaultSelection event on Enter and double click.
- rwt.widgets.DropTarget
- S->C: New property "fileDropEnabled" (boolean)
- C->S: New property "files" (array of objects) in notify "DropAccept"
New Object Types
- rwt.client.FileUploader
- S->C: This is a service object, i.e. has no create operation but the server expects an instance to exist with the type as the id
- S->C: One method "submit" with properties "url" (string) and "fileIds" (array of string).
- rwt.widgets.DropDown
- S->C: Constructor properties: "parent" and "markupEnabled"
- S->C: Properties: "items", "visible", "visibleItemCount", "columns", "data", "selectionIndex"
- C->S: properties: "visible", "selectionIndex"
- C->S: Events: "Selection", "DefaultSelection"
- S->C: Methods: "addListener", "removeListener"
Changes in RAP 3.0
Changes in existing Object Types
- rwt.widgets.Grid
- S->C: Properties: "columnOrder"
- rwt.widgets.Button
- S->C: Properties: "markupEnabled"