Jump to: navigation, search

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.

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"