Upgrading / New features of Genero BDL |
This topic lists features added for the 2.21 release of the Genero Business Development Language.
Overview | Reference |
---|---|
Program module dependency specification with IMPORT FGL instruction. | See The IMPORT FGL instruction |
Support for C1 Ming Guo date format modifier: Enable the digit-based Ming Guo
date format by adding the C1 modifier at the end of the value set for
the DBDATE environment
variable:$ DBDATE="Y3MD/C1" $ export DBDATE Note:
|
See DBDATE |
Overview | Reference |
---|---|
VALUEMIN/VALUEMAX attributes for the SPINEDIT widget. | See SPINEDIT |
New presentation styles attributes for Window nodes. | See actionPanelButtonTextAlign, ringMenuButtonTextAlign |
New presentation styles attributes for Image nodes. | See alignment |
Numeric keypad decimal separator: The decimal separator defined by DBMONEY or DBFORMAT will be used when pressing the dot key of the numeric keypad. | See DBMONEY and DBFORMAT. |
Automatic display of BYTE images: Image data contained in a BYTE variable are now displayed automatically when using a simple DISPLAY BY NAME, DISPLAY TO or when the BYTE variable is used by a dialog instruction. The BYTE data must be located in a file (LOCATE IN FILE "path") or temp file (LOCATE IN FILE). | See IMAGE item definition. |
Paged DISPLAY ARRAY supports undefined initial row count: With this feature, when using a Paged DISPLAY ARRAY, it was mandatory to provide the total number of rows in the result set, which required a SELECT COUNT(*) before executing the dialog instruction. The dialog now supports an undefined number of rows, with value -1 in the COUNT dialog attribute. | See Read-only record list (DISPLAY ARRAY). |
New ui.Interface.setSize() method to to let you define the initial size of the WCI container window. | See The Interface class. |
New formScroll presentation style attribute for windows. | See Window style attributes. |
Overview | Reference |
---|---|
New database drivers | List of new database drivers:
|
New EasySoft driver to connect from UNIX™ to SQL Server. This driver is based on the EasySoft SQL Server ODBC client. | See SQL adaptation guide for SQL SERVER 2005, 2008, 2012, 2014, 2016. |
New PostgreSQL 8.4 driver with INTERVAL support: dbmpgs84x. This driver converts Informix-style INTERVALs to native PostgreSQL INTERVALs. | See SQL adaptation guide for PostgreSQL 9.x. |
Static SQL column definition supports DEFAULT clause:
The syntax of the CREATE TABLE and ALTER
TABLE Static SQL statements allows the DEFAULT
clause in column definitions.
CREATE TABLE item ( num SERIAL, name VARCHAR(50) DEFAULT '<undefined>' NOT NULL ) |
See Static SQL statements. |
PostgreSQL database driver supports now TEXT/BYTE. | See Large OBject (LOB) types. |
New Static SQL syntax for the INSERT statement, which
removes the record member defined as SERIAL, SERIAL8 or BIGSERIAL in the
schema
file:SCHEMA mydb ... DEFINE record RECORD LIKE table.* ... INSERT INTO table VALUES record.* |
See INSERT. |
The LOAD can now raise error -846 when
the input file has a corrupted line (missing or invalid field separator,
invalid character set, UNIX/DOS line terminators). You can now easily
find the invalid line by setting the FGLSQLDEBUG environment variable. The
runtime system will display such debug messages with the line number:
| DBI: LOAD: Corrupted data file, check line #12345. |
See LOAD. |
ODBC Character type control with SNC driver is now
possible by using simple char or wide-char character strings for ODBC,
with the following FGLPROFILE entry:
dbi.database.<dbname>.snc.widechar = true/false |
See SQL adaptation guide for SQL SERVER 2005, 2008, 2012, 2014, 2016. |
Overview | Reference |
---|---|
The fglwsdl tool supports HTTPS request to retrieve WSDL or
XSD on the network. You must specify the X509 certificate and private
key using these options:
|
See fglwsdl. |
The fglwsdl tool allows http authentication and proxy
authentication when requesting a WSDL or an XSD on the network, and
supports basic and digest authentication. Two options have been added
for authentication.
|
See fglwsdl. |
The fglwsdl tool provides a new option that generates:
This option is especially useful when you have to communicate with another web service that requires additional information on the XML request, or when it returns additional information that was not specified in the WSDL. For instance, this is the case if you have to communicate with web services using WS-Security. You can manipulate the XML document in the generated client stub using the XML-Signature or XML-Encryption API to perform the security part by hand before it is sent on the network. The following option has been added for that purpose:
|
See WS client stubs and handlers. |
The COM library is enhanced by a new function called HandleRequest to allow low-level and high-level web services on the same server. | See com.WebServiceEngine.HandleRequest |
The COM library is enhanced to perform automatic reply on HTTP GET request when the server requires HTTP authentication, proxy authentication, or returns an HTTP redirect. | |
The XML library supports a new option, xml_useutctime, to serialize any BDL DATE and DATETIME using the UTC format requested in most WS-Security exchanges. | See Serialization option flags. |
The XML library has been enhanced with two APIs
in the CryptoKey class. Due to security issues, the
usage of a direct shared symmetric or HMAC key is not recommended;
most secured operations should use a key derived from a common shared
key instead. The XML library has been enhanced with two APIs in the
CryptoKey class:
|
See Derived keys. |
The COM library has been enhanced with two helper
APIs in a new Util class. In most Web Service security
exchanges, the application must be able to compute digest passwords
and use random binary data to detect reply attacks (for instance).
The COM library has therefore been enhanced with two helper APIs in
a new Util class:
|
These methods are desupported since 3.00, use security.Digest.CreateDigestString and security.RandomGenerator.CreateRandomString |
The StAX reader and writer classes have been enhanced with two new methods to set up the XML stream on a TEXT lob. It enables parsing of an XML document in StAX directly from a TEXT with the readFromText() method, and creating a new XML document saved directly as TEXT with the writeToText() method. | See The StaxWriter class and The StaxReader class. |
The Genero Web Services library has been enhanced to support XML wildcard
attributes. Such wildcard attribute can be set in a XML schema or in a WSDL via the anyAttribute tag. It allows additional attributes belonging to other XML schemas in a main XML schema. The additional attributes are not necessarily known by the main schema. The fglwsdl tool has been enhanced to recognize the additional attribute and to generate a one-dimensional dynamic array with a new XMLAnyAttribute attribute, and the XML Serializer has been enhanced to handle the new XMLAnyAttribute during the serialization and deserialization process. A new option called xs_processcontents is supported by the XML Serializer to generate the XML schema of such wildcard attributes with a processContents tag that defines the way a validator will handle them. |
See Attributes to customize XML serialization and The Serializer class. |
The package contains a new demo called SimplePKI
that demonstrates the usage of XML-Encryption in Genero. It allows several clients to register to a centralized PKI (Public Key Infrastructure) service that generates a unique RSA key-pair per user. The private key is returned to the user during the registration or login, using a derived symmetric key based on the user's password to make it secure. Then any client is able to retrieve the public key of the registered users, and to encrypt XML data only readable by that user. Note: This demo could easily be adapted in a real-world application
if (for instance) all key-pair are stored in a database for persistence.
You can find the demo in the demo/WebServices/simplepki subdirectory or by running the demo application in your installation directory. |
N/A. |