Tips for migrating GDC to GBC
When migrating an application from the Genero Desktop Client (GDC) to the Genero Browser Client (GBC), you may encounter issues. Here are some tips that may help.
Configuration issues
The Genero Application Server (GAS) is likely serving several types of applications, which might use different versions of the Genero Business Development Language and different databases. You need to configure the GAS for the environment your application will be running. This is done through the GAS configuration file. If you already have your application configured for GDC-HTTP, you need to enable the rendering for GBC. Example of configuration for a GDC application:
<APPLICATION Id="my-app" Parent="defaultgdc">
<EXECUTION>
<PATH>$(res.path.fgldir.demo)</PATH>
<MODULE>demo.42r</MODULE>
</EXECUTION>
</APPLICATION>
To allow GBC rendering, replace defaultgdc
with
defaultgwc
, and add the UA_OUTPUT
for the
public image resources and the GBC customization:
<APPLICATION Id="my-app" Parent="defaultgwc">
<EXECUTION>
<PATH>$(res.path.fgldir.demo)</PATH>
<MODULE>demo.42r</MODULE>
</EXECUTION>
<UA_OUTPUT>
<PUBLIC_IMAGEPATH>$(res.public.resources)</PUBLIC_IMAGEPATH>
<GBC>gwc-dev</GBC>
</UA_OUTPUT>
</APPLICATION>
See the Configuring Applications on GAS topic in the Genero Application Server User Guide to configure your execution environment, the database access, and the resource deployment (such as pictures and reports).
- Look in the dispatcher log for error messages. See Log files in the Genero Application Server User Guide.
- Start a debug console as explained in the What if the application doesn't start? topic in the Genero Application Server User Guide. With a console, the GAS does not launch the application, but instead launches a console with the application environment set up. You can then compare the environment variables to your GDC working environment.
- With a console started, you can run commands to check and update your environment variables.
- You can also display the application on the GDC by changing the FGLSERVER environment variable to verify that the application runs properly with GDC.
Rendering issues
Graphical widgets that are not rendered properly or are displayed with a different style are considered rendering issues. The source of the rendering issue could be the browser, your code, or some GBC customization. For help with troubleshooting, see Evaluate migration from GDC to GBC.
Application issues
Application issues are behavior related. Most of the time you need to contact your local support center. But you can first check for:
- Relevant messages in the logs
- JavaScript errors
If clues are provided in either the logs or in the errors, try to build a simple test program that replicates the issue and contact your local support center.
When you right-click on your application, the browser context menu displays by default. To change this to the Genero context menu, see Display the Genero context menu.
Network issues
When the migration is almost done and you are in the load test phase, you might encounter sporadic disconnections. Carefully read the chapters on GAS installation for your Web server and verify the Web servers and GAS timeouts are compatible. You can also have a look at:
- Web server log (error/access log)
- The Genero Application Server logs
- Network sniffer (like Wireshark)
Web Components
The default path for a web component is
appdir/webcomponents, where
appdir is the application directory. See the
WEB_COMPONENT_DIRECTORY
element in your
FGLASDIR/etc/as.xcf configuration
file:
<WEB_APPLICATION_EXECUTION_COMPONENT Id="cpn.wa.execution.local">
[…]
<DVM>$(res.dvm.wa)</DVM>
<WEB_COMPONENT_DIRECTORY>$(application.path)/webcomponents;
$(res.path.as)/webcomponents</WEB_COMPONENT_DIRECTORY>
</WEB_APPLICATION_EXECUTION_COMPONENT>
You can change the default web component's location by configuring a
WEB_COMPONENT_DIRECTORY
element in your application's
configuration. In this example, the web component is no longer located in
appdir/webcomponents but in
appdir/mycomponents:
<APPLICATION Parent="defaultgwc" …>
<EXECUTION>
<PATH>/home/myapp</PATH>
<MODULE>myapp</MODULE>
<WEB_COMPONENT_DIRECTORY>/home/myapp/mycomponents</WEB_COMPONENT_DIRECTORY>
</EXECUTION>
</APPLICATION>