The Web Dynpro UI elements are interfaces to the graphical user interfaces of Web Dynpro applications. The prescribed 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 enable scope for the integration of 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 executed within Web browsers with the aid of the Silverlight plug-in. The Silverlight browser plug-in is available for various browser versions.
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 along 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 in the Microsoft Visual Studio development environment, for example. This type of project consists of three parts:
The Microsoft Silverlight library provided by SAP NetWeaver, and necessary for communication between the Microsoft Silverlight application and the Web Dynpro Framework.
Your own Microsoft Silverlight component
Application developers must call their self-developed Microsoft Silverlight components in the SilverlightIsland wrapper. The SilverlightIsland component provides methods to access data of the UI element and 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 guaranteeing 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 may only ever be oneSilverlightIsland UI element per view, since 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 present. This makes it possible to debug the application in Microsoft Visual Studio, with the aid of the Attach to Process... command.
Dialog Box
The integration of SilverlightIsland in Web Dynpro ABAP dialog boxes (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.