Web Dynpro UI elements are interfaces to graphical user interfaces of Web Dynpro applications. The predefined UI elements are assembled depending on requirements for the different applications. There is currently no infrastructure for the development of customer-specific UI elements. To make it easier to integrate different technologies and customer-specific UI blocks, SilverlightIsland is provided as well as FlashIsland. This enables applications based on Microsoft's Silverlight Web presentation technology to be integrated in Web Dynpro.
Microsoft Silverlight is a technology for developing rich Internet applications (RIA). The compiled Microsoft Silverlight applications are run within Web browsers with the aid of the Silverlight plug-in. The Silverlight browser plug-in can be used in various browsers.
To use your own Microsoft Silverlight component within Web Dynpro, it must integrate the library provided by SAP NetWeaver. This enables communication between the Microsoft Silverlight application and the Web Dynpro framework.
In Web Dynpro, a SilverlightIsland UI element is generated in a view. The UI element contains the path to the Microsoft Silverlight application (XAP file). This file must be stored in the MIME repository to enable its delivery together with the Web Dynpro application.
The most important properties of SilverlightIsland are source, height, and width (see below).
For caching optimization, the cache retention period for the MIME object must be as high as possible. To set it, choose Client Cache Expiry Date for the MIME object.
Context attributes are provided in SilverlightIsland using the PROPERTIES and DATA_SOURCES aggregations. It is also possile to declare EVENTS that are triggered by the Microsoft Silverlight application and are to be processed by the Web Dynpro framework.
A Microsoft Silverlight application can be created, for instance, in the Microsoft Visual Studio development environment. This type of project consists of three parts:
The Microsoft Silverlight library provided by SAP NetWeaver, which is required for communication between the Microsoft Silverlight application and the Web Dynpro framework.
Your own Microsoft Silverlight component
Application developers must call the Microsoft Silverlight components they have developed in the SilverlightIsland wrapper. The SilverlightIsland component provides methods to access UI element data, and to trigger events.
More information: Microsoft Silverlight Islands Integration
Notes
Accessibility
Note that accessibility is not yet ensured when using a SilverlightIsland UI element. If you want to create an accessible application, we recommend that you do not use SilverlightIsland.
Translation
For texts in the Microsoft Silverlight application (XAP file), there is no translation link. Texts can only be translated if they are transferred from external applications through the context ( GACDataSource or GACProperty)
Make sure you only transfer the texts once, and not with every roundtrip.
Bi-Directional Text
Application developers are responsible for ensuring right-to-left (RTL) support.
Personalization
The personalization of SilverlightIsland UI elements is not supported.
Rectangular screen area
A SilverlightIsland UI element always runs in a rectangular screen area. Other shapes are not currently supported.
No Multiple Display
A SilverlightIsland UI element can only be displayed once on a screen. You cannot display it multiple times using dataSource. It can therefore not be used in a RowRepeater, MultiPane, or TablePopin (if there is to be more than one open popin at any one time).
In short, there can only ever be oneSilverlightIsland UI element per view, because it is a RootUIElementContainer.
However, you can display multiple SilverlightIslands on one page at the same time.
Debugging
To be able to debug a Microsoft Silverlight application, the symbol files ( pdb files) of the application must be available. This makes it possible to debug the application in Microsoft Visual Studio, using the Attach to Process... command.
Popups
The integration of SilverlightIsland in Web Dynpro ABAP popups is not supported.
Implementation Details
Runtime Class |
CL_WD_SILVERLIGHT_ISLAND |
Name |
Type |
Initial Value |
Bindable |
---|---|---|---|
STRING |
(automatic) |
No |
|
WDY_BOOLEAN |
true |
Yes |
|
STRING |
Yes |
||
WDUI_LIFE_TIME |
whenVisible |
Yes |
|
STRING |
Yes |
||
Translatable text |
Yes |
||
WDUI_VISIBILITY |
visible |
Yes |
|
STRING |
Yes |
Name |
Cardinality |
Type |
---|---|---|
0..n |
||
0..n |
||
0..n |
Other properties that can be inherited are defined in the related higher-level classes. The related UI elements are:
Dynamic Programming
For dynamic programming, the same properties, events and aggregations are available as in the View Designer. But note that the spelling format and use of upper/lower case is different.
View Designer Name |
Runtime Name |
Type |
---|---|---|
ENABLED |
WDY_BOOLEAN |
|
HEIGHT |
STRING |
|
LIFE_TIME |
WDUI_LIFE_TIME |
|
lifeTime: whenAlive |
CL_WD_SILVERLIGHT_ISLAND=>E_LIFE_TIME-WHEN_ALIVE |
|
lifeTime: whenVisible |
CL_WD_SILVERLIGHT_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE |
|
SOURCE |
STRING |
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
VISIBLE |
WDUI_VISIBILITY |
|
visible: none |
CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-NONE |
|
visible: visible |
CL_WD_SILVERLIGHT_ISLAND=>E_VISIBLE-VISIBLE |
|
WIDTH |
STRING |
View Designer Name |
Runtime Name |
Cardinality |
---|---|---|
DATA_SOURCES |
0..n |
|
EVENTS |
0..n |
|
PROPERTIES |
0..n |
You can find a test example of this UI element in the WDR_TEST_SILVERLIGHT component.