Genero Web Client Basics / Migrating from GDC to GWC |
Depending on which Genero Web Client (GWC) theme your application uses, there can be changes in rendering and behavior specific to a theme. As a result, even if most features are supported, you still have points to consider before migrating.
Before you migrate your application for the Genero Web Client, examine the limitations and authentication specifics. You must modify your application to handle unsupported features.
One method of evaluating is to run the application and see what happens! If you encounter an issue, you need to determine if this is a limitation, a customization or a bug. See Migration tips for hints aimed at helping you solve your issues during migration.
These limitations are grouped under rendering or behaviors. They are common to all Genero Web Client themes.
Most of the presentation styles are supported by the HTML5 theme.
Refer to the Genero Business Development Language User Guide for information on which styles are supported.
In general, only the top-most window of a window stack is displayed when using the Genero Web Client.
The Genero Desktop Client (GDC) opens a new window for each "OPEN WINDOW" instruction. The Genero Web Client, however, only displays the top most window. The intermediate windows are not shown.
Imagine the window stack is composed by the windows W1, W2, ..., Wn. Typically, the Genero Web Client only displays the window at the top of the stack - the Wn window, also called the current window. The intermediate windows, W1 to Wn-1, are not displayed. This is true if the window stack contains only normal windows and no modal windows.
If, however, the stack contains modal windows (i.e. if the stack is as follows: WN1, WN2, ... WNn, WM1, WM2, ... WMm), then 2 windows are displayed: The topmost normal window (WNn) and the current modal window (WMm). The windows WN1 to WNn-1 and WM1 to WMm-1 are not displayed.
If there are no normal windows, but only modal ones, there will be only one window: the current modal one.
If you have some pop-up windows in your GDC application, set the windowType attribute to modal in the Genero Style for Window.dialog in order to achieve a similar display with the GWC.<Style name="Window.dialog"> <StyleAttribute name="windowType" value="modal" /> <StyleAttribute name="sizable" value="no" /> <StyleAttribute name="position" value="center" /> <StyleAttribute name="actionPanelPosition" value="bottom" /> <StyleAttribute name="ringMenuPosition" value="bottom" /> <StyleAttribute name="toolBarPosition" value="none" /> <StyleAttribute name="statusBarType" value="none" /> <StyleAttribute name="errorMessagePosition" value="popup" /> </Style>If you use the predefined style dialog, the window displays as a pop-up window.
OPEN window msg WITH FORM "MyWindow" ATTRIBUTES (STYLE="dialog")
Multiple Document Interface (MDI) is not applicable for web applications.
Due to browser securities, file transfer in GWC is not transparent. The browser asks for permission before downloading anything on the client side.
Due to browser securities, intrusive operations cannot be performed. Front end calls that access the desktop file systems (disk) are not supported (including file transfer). Check the available Front End function calls for GWC in the Genero Business Development Language User Guide. The alternative is to write your own Front End Call in JavaScriptâ„¢.
Most GDC applications connect to the server with the user permissions and profile. As a result, the applications are run under this user identity.
When the application is deployed through GAS, the user is the user that started the GAS. All the applications are launched using that specific user, unless you ask GAS to impersonate. Depending on the authentication system, adaptations may be needed.
If you were using Kerberos with GDC, you can continue to use Kerberos with the GAS once you have completed necessary configuration steps. See Authentication and the GAS for more details.
If the user connects to the server and needs the application to run under that specific user, use Kerberos.
If only the login is needed, you can ask the web server to make a preliminary authentication. This authentication is transmitted to Genero applications by the dispatcher as an environment variable. The user login can be retrieved from the runtime environment with the FGL instruction fgl_getenv("FGL_WEBSERVER_REMOTE_USER")
With an application login, there is nothing additional to do as the application handles the login.