GAS 3.00 upgrade guide

These topics describe product changes you must be aware of when upgrading to version 3.00.

Important: This is an incremental upgrade guide that covers only topics related to the Genero Application Server version specified in the page title. Check prior upgrade guides if you migrate from an earlier version, and complete the migration tasks for all versions between your existing version and the target version in order. Make sure to also read about the new features for this version.

Corresponding new features page: GAS 3.00 new features.

Previous upgrade guide: GAS 2.50 upgrade guide.

Note: In the Genero Application Server User Guide 3.00 manual, upgrade notes introduced during a maintenance release were part of a separate topic. All content from that topic now appears on this page.

Client scope (protocols)

The FGLGWS package includes both Genero Business Development Language and Genero Web Services.

Table 1 shows the protocols and front-ends that are supported with FGLGWS 3.00.
Table 1. FGLGWS 3.00 and client protocols
Protocol Clients
ua GDC 3.00, GBC, GMA, GMI
ws GWS
Table 2 shows the protocols and front-ends that are supported with FGLGWS 2.50.
Table 2. FGLGWS 2.50 and client protocols
Protocol Clients
ja GDC 2.50
wa GWC-HTML5
Important: Web services (ws) with GAS 3.00 are supported with FGLGWS 3.00 DVM only.
Important: If you wish to use GWC-HTML5 or GDC 2.50 with GAS 3.00, you must work with FGLGWS DVM 2.50.

What does this mean for your upgrade to 3.00? Links that previously used "wa" should now use "ua" instead. See URI Examples.

IIS configuration no longer automatic

The IIS automatic configuration has been removed from the installation process. Manual configuration is required.

Genero Web Client

Genero Browser Client (GBC) is the default rendering for Genero Web applications, replacing Genero Web Client for HTML5 (GWC-HTML5 ). New development should use GBC.
Important: Genero Web Client for JavaScript (GWC-JS) applies to the web client 3.00 and lower. From version 3.10, the name GWC-JS is discontinued and replaced by Genero Browser Client (GBC).

Document your existing customization under GWC-HTML5, and determine what needs to be reimplemented with GBC.

Genero Desktop Client ActiveX (GDCAX) is desupported

For new development, use GBC.

Single Sign-On Authentication

The Kerberos authentication mechanism for Single Sign-on authentication is deprecated. Any new development requiring Single Sign-on should plan to use OpenID Connect, SAML or OpenID. See How to implement Single sign-on (SSO). For alternative solutions, please contact your Four Js support center.

Java Dispatcher

Note: The Java dispatcher is no longer used. Please see Java Servlet Installation and Web Server Configuration topics in the Genero Application Server 3.00 User Guide.
For Genero 3.0, the Java Dispatcher, requires at least version 3.0 of the Java servlet API. This is supported on the following Java web servers:

Web Server side Resources

In GAS 2.50, using gwcproxy and html5proxy proxies, the path to the image directory is configured to fetch resources on the Web server side in the PATH element, see the Genero Application Server 3.00 Administrator Guide.
<PICTURE>
    <PATH type="WEBSERVER">a_uri</PATH>
</PICTURE>
This is usually configured to improve performance. The Web server delivers static files or images instead of the GAS.
With GAS 3.00, for uaproxy, all the resources are delivered by the GAS. By default the application's public directory is defined by the PUBLIC_IMAGEPATH in $FGLASDIR/etc/as.xcf configuration file:
<PUBLIC_IMAGEPATH>$(res.public.resources)</PUBLIC_IMAGEPATH>
Note: $(res.public.resources) defaults to the path appdata/public/common, see PUBLIC_IMAGEPATH.

If you use Genero Archive you can specify public resources for your applications by adding a RESOURCES element in the Genero Archive manifest. Then the resources are copied in $FGLASDIR/appdata/public/deployment/deployappname, where "deployappname" is the name given to the deployed application directory by the Genero Archive. See Resource deployment.

Web Components

In GAS 2.50, web components are deployed under $FGLASDIR/web/components directory, see WEB_COMPONENT_DIRECTORY.

Starting from GAS 3.00, with uaproxy, 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</WEB_COMPONENT_DIRECTORY>
</WEB_APPLICATION_EXECUTION_COMPONENT>
You can change the default web components 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>

For more details on Web component usage, see the Genero Business Development Language User Guide.

Genero Web Client hybrid mode (deprecated)

The GWC hybrid mode feature has been deprecated. Applications for Android™ or iOS mobile platforms which used the GWC hybrid mode will need to use the more-featured GMA or GMI instead. If you do not have equivalent features in GM, contact your local Four Js support center.

GWC-JS LOOKUP PATH

The GWC_JS_LOOKUP_PATH is a new mandatory element in as.xcf. If you are upgrading to GAS versions 3.00.11 or later and wish to keep your existing as.xcf configuration file, you need to add this element to the INTERFACE_TO_CONNECTOR element. Otherwise, you will see the following error message at GAS startup:
Application Server startup . ........................................... httpdispatch
"Configuration ERROR" Code:1871 Message:Element 'TEMPORARY_DIRECTORY': This element is not expected. 
 Expected is ( GBC_LOOKUP_PATH ).
[fail]  httpdispatch "Main Configuration"
Cannot build main configuration 
To find your GAS version, at the command line run:
gasadmin -V
For more information on the gasadmin tool, see The gasadmin tool topic.

Debug mode

Important: Genero Web Client for JavaScript (GWC-JS) applies to the web client 3.00 and lower. From version 3.10, the name GWC-JS is discontinued and replaced by Genero Browser Client (GBC).
Support of "gwc-js.debug" in a GAS configuration file has been dropped. If you have previously used gwc-js.debug to launch GBC applications in debug mode, you must now use an alternate method. See GBC application in debug mode in the Genero Browser Client Customization Guide.

Genero Report Viewer URLs

Starting with GAS version 3.00.12, the report viewer URL prefix /ua/grv that was provided to the Genero Report Engine (GRE) is no longer used.

New URL prefixes provide access to the HTML report viewer implementation and its applications' public and private resources. Different URLs are provided for when the Genero Report Engine is operating in local mode, on the same server as the GAS, or in distributed mode on another server.

The URLs are very similar in structure in each case.
Local /Local Server Mode
/ua/report/viewer
/ua/report/public
/ua/report/private/$(session.id)/reports
Distributed Mode
/ua/report-r/viewer
/ua/report-r/public
/ua/report-r/private/$(session.id)/reports
These URLs are used for the same purpose in local mode as distributed mode, where:
  • viewer loads the HTML report viewer implementation.
  • public provides access to shared resources.
  • private provides access to resources that are private to the application.

For more information see REPORT_VIEWER_DIRECTORY.

HTTP security header: X-Content-Type-Options="nosniff"

Since GAS versions 3.00.35, for security reasons the default header "X-Content-Type-Options" needs to be set to the value "nosniff". This is the default use in the GAS configuration file (as.xcf):
<HEADER Name="X-Content-Type-Options">nosniff</HEADER>
Use of this header blocks browsers sniffing file types, which is guessing the correct Multipurpose Internet Mail Extensions (MIME) type by looking at the file. The header blocks sniffing of script and style type files.
Warning: On Internet Explorer 11, use of this header may cause images not to be displayed if the image files do not have extensions. To work around this, if your applications need to serve images through Genero Application Server (GAS), make sure your image files have extensions.

For more information, see HEADER.

Changes to Apache 2.4 configurations

The Alias directive no longer needs to be set in fastCGI configurations using the mod_proxy_fcgi module. This applies to Apache 2.4 Web server. Lines, such as the following, can be removed from server and virtual host configurations.
Alias /gas /opt/gas/bin/fastcgidispatch 
Starting with Apache 2.4.11:
  • To ensure application URLs with spaces are decoded correctly, proxy-fcgi-pathinfo must be set to unescape.
  • The enablereuse=on directive can be used in the ProxyPass configuration to recycle connections to the fastcgi dispatcher.

For more information on Apache 2.4 Web server configuration, see Apache 2.4: mod_proxy_fcgi.

Note: For more information on the Apache modules and directives, refer to the Apache documentation.

Changes to USER_AGENT timeout settings for GAS

The USER_AGENT timeout, which represents the event when a user does not perform any action during the interval set by this element, has changes to how it is used on the client side. Starting with GAS version 3.00.44, the value set is divided by 2 (USER_AGENT / 2) when it is sent to the Genero Browser Client at application start up. This helps ensure the GAS has time to receive at least one ping from the client in case network traffic is experiencing very high latency.

For more information see USER_AGENT.

REQUEST_RESULT default now 45 seconds

Starting with GAS 3.00.46, the default value for REQUEST_RESULT changed from 60 seconds to 45 seconds. For more details, see REQUEST_RESULT (for an application).

Changes in earlier versions

Make sure to check the upgrade notes of earlier versions, to not miss changes introduced in maintenance releases.

For more details, see GAS 2.50 upgrade guide.