BDL 5.00 new features

Features added in 5.00 releases of the Genero Business Development Language.

Important:

This page covers only those new features introduced with the Genero BDL version specified in the page title. Check prior new features pages if you migrate from an earlier version. Make sure to also read the upgrade guide corresponding to this Genero version.

Corresponding upgrade guide: BDL 5.00 upgrade guide.

Previous new features page: BDL 4.01 new features.

Table 1. Core language
Overview Reference
Related upgrade notes
Table 2. User interface
Overview Reference
Support for front-ends of different major version number. See VM and front-end compatibility
Proper action default attributes in FGLDIR/lib/default.4ad, for special actions such as enterforeground/enterbackground. See List of predefined actions, Using action defaults files.
Related upgrade notes
Table 3. SQL databases:
Overview Reference
Support for Dameng® database 8. See Dameng database server.
Support for MariaDB 11. See Database driver specification (driver) and Oracle MySQL / MariaDB.
Support for Oracle® database 23c, with support for native BOOLEAN and JSON types. See Oracle Database, ORACLE BOOLEAN type, Oracle JSON data type.
Related upgrade notes
Table 4. Tools
Overview Reference

The --web-content option of the fglgar war command to create a war file is now mandatory. It must specify the path to the Java Web Content directory of the JGAS installation.

See Changes to fglgar and options table for fglgar war.
Related upgrade notes
Table 5. Web Services
Overview Reference
The Genero Web Services JSON library (json) has been added. This library provides classes and methods to perform:
  • JSON manipulation with a Streaming API for JSON
  • Serialization of BDL variables in JSON
See

The fglrestful tool now supports the new JSON API (json) and generates code with this new API. However, it is possible to use the legacy JSON API (util.json) using the option --legacyJSONApi.

See fglrestful
The JSONOneOf and JSONSelector attributes are added to support the Swagger and OpenAPI oneOf JSON schema property. These attributes replace the existing attributes JSONSchemaOneOf and JSONSchemaSelector. See
The JSONRequired attribute is added to support the Swagger and OpenAPI required JSON schema property. See JSONRequired
The FGLPROFILE has a new entry, security.global.options, added to support legacy OpenSSL 1 options. See New security.global.option in FGLPROFILE to allow legacy OpenSSL 1 options
The FGLPROFILE has a new entry, security.global.verifyserver, added to support certificate validation. See New security.global.verifyserver entry in FGLPROFILE to support certificate validation process
New fglwsdl option -SSLOptions added to support legacy OpenSSL 1 options. See fglwsdl option -SSLOptions to support legacy OpenSSL 1 options and fglwsdl.
Set the HTTP response status code (200 - 299) of a web service operation with com.WebServicesEngine.SetRestStatus. See com.WebServiceEngine.SetRestStatus
A new method allows the return of a specific header in an HTTP error response. See WSErrorHeader.
The WSRetCode attribute can be set with the "2XX" value to allow setting the response status with any code from 200 to 299 dynamically at runtime, added to support the Swagger and OpenAPI specification. See
The WSTypeDescription high-level REST attribute is added to support the Swagger and OpenAPI description JSON schema property. See WSTypeDescription
The WSDescription attribute can be used on JSON schemas in addition to REST function input and output parameters, added to support the Swagger and OpenAPI specification. See
The WSPreProcesssing and WSPostProcessing attributes are added to support preprocessing and postprocessing for REST callback functions. See
The REST engine WSContext variable has three new entries: RequestPATH,RequestVERB, and RequestOPERATION to support preprocessing and postprocessing for REST callback functions. See WSContext
STRING-typed return parameter in OAUTH API function. See Change to OAuthAPI.GetIDSubject returns.
The OAUTH API has a new method called OAuthAPI.GetIdRoles() to explicitly retrieve authorization roles from ID tokens. See New method GetIdRoles() for retrieving authorization roles and OAuthAPI.GetIdRoles.
The Genero OpenIDConnect service now decodes ID tokens containing roles instead of scopes, and creates a new environment variable called OIDC_ROLES containing the list of roles. See OpenIDConnect service supports OIDC_ROLES
Related upgrade notes
Upgrade notes for web services. See Web Services changes
Table 6. Mobile apps (GMA 5.00 and GMI 5.00)
Overview Reference
Related upgrade notes