GAS 4.00 upgrade guide

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

Important:

This version of GAS is desupported, use a more recent version of the product.

Important:

This incremental upgrade guide covers only topics related to the Genero Application Server (GAS) 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 4.00 new features.

Previous upgrade guide: GAS 3.20 upgrade guide

Changes to the REST Web services URL format

Starting with GAS version 4.00 and FGLGWS version 4.00, there are changes to RESTful Web service URL. This does not involve any application configuration changes; it just means a change to the URL you use to access services.

New REST URL
http[s]://host:port/gas/ws/r[/group-name]/xcf-file/service-name/endpoint-path
Previous REST URL
In contrast, the URL used previously did not include the group name or xcf filename in the path.
http[s]://host:port/gas/ws/r/service-name/endpoint-path
In the new REST URL format the following path elements are included:
group-name
If your Web services is part of a group of Web services configured on the Genero Application Server (GAS), you must provide the group name. However, group-name can be omitted, if it does not belong to a group. In this case, the Web service belongs to the default group, which does not have to be named in the URL.
xcf-file
You must provide the Web services configuration filename. For example, if the configuration file is myServices.xcf, you specify myServices in the xcf-file.

The new format enhances the way the Genero Web Server (GWS) finds resources.

For more URI examples, see URI Examples. For more information on RESTful Web services creation, see the REST Web services topics in Genero Business Development Language User Guide.

ROOT_URL_PREFIX deprecated

The ROOT_URL_PREFIX element is deprecated. If you have a proxy or load balancer configuration, the GAS supports use of the X-Forwarded headers (protocol, host, and port) to determine the URL used by the client when a reverse proxy server is used.

You will need to configure your Web server for X-Forwarded headers. See Apache: configure for reverse proxy and IIS: configure for reverse proxy.

If using a load balancer, X-Forwarded headers are used by default in the most recent load balancers. Ensure your server is configured for use of these headers. For more information about load balancing, see Load balancing.

GIP database migration

If you configured the GIP by using the StarterApp with GAS 3.20, then you will need to migrate your IDP database for GAS 4.00. At this time, you also have the option to move from SQLite to an alternate Genero-supported database engine.

See Migrate your Genero Identity Provider database.

User custom properties in the GIP

Starting with Genero 4.00.03, how user custom properties are set has been changed. They are no longer set by the user, but by an administrator. See Manage custom user properties for details.

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 3.20 upgrade guide.

Notable changes introduced in maintenance releases:

  • The new entry oidc.oauth.request.format for setting the OpenIDConnect service OAuth authentication exchange format, also available since GAS 4.00.03.
  • The new --keys option in the ImportOAuth tool for fetching public keys for OAuth authentication, also available since GAS 4.00.03.
  • The change in the default value for REQUEST_RESULT from 60 seconds to 45 seconds, also available since GAS 4.00.01.
  • The recommendation to set the attribute SameSite to "strict" in Web services using HTTP cookies, also available since GAS 4.00.01.
  • The removal of the Alias directive in Apache 2.4 Web server and other changes introduced in the configuration.