New and Updated Features
Ingres 12.0 Support
All platforms of OpenROAD 12.0 now support Ingres 12.0.
Add DirectoryPopup() method
Add DirectoryPopup() method to the ProcExec class. The method opens a dialog to select a directory.
Update JPEG library
OpenROAD uses JPEG library version 9d. Please see https://www.ijg.org for more information.
Enhance abfcomp2or utility
The abfcomp2or utility generates OpenROAD User Frames from ABF frames. It also enables ABF sources for frames and procedures to be retrieved from remote machines.
Enhance Workbench dialog
The default button in the Workbench confirmation dialogs to delete a component or application is the Cancel button rather than the OK button.
Enhance jsonconfig4app utility
The jsonconfig4app utility uses the directory specified by the II_W4GL_JSON_CONFIG environment variable as working directory.
Enhance Class Browser
• The Class Browser in the OpenROAD Workbench shows new classes, attributes and methods introduced in OR 11.x versions.
• The Workbench menu option View, Refresh is now enabled for the Class Browser
Enhance servlet mapping
Remove the need to add a OpenROADJSONRPC servlet mapping in web.xml when adding a new server application for JSON-RPC use. Access uses an app parameter within the servlet URL e.g. http://localhost:8080/openroad/jsonrpc?app=jsonrpcservertest.
Add check for circular references
Add parameter checkcircularrefs (optional) to the JsonHandler methods Write() and WriteFile() to check for circular references in JsonObject/JsonArray instances to be written.
Show creation dates
• When the II_W4GL_TRACE_IMAGE_VERSION environment variable is set to TRUE, the creation dates of images fetched are also displayed in the trace window and OpenROAD log file.
• The creation date of or4glnt.dll is also displayed in the trace window and OpenROAD log file.
Show timestamp
Set II_W4GL_TRACE_TIMESTAMP=ISO to display trace message with timestamp in ISO8601 format.
Scintilla editor enhancements
Build Scintilla editor under Wine environment for Linux to allow syntax highlighting and advanced edit controls/features.
Enhance SessionObject.CallSystemStatus
Update SessionObject.CallSystemStatus after a call to a subsystem such as for example 'call report'
Enable renaming of Trace Window
Add new flag "-Ttitle" to the OpenROAD command line to allow the user to rename the title of the OpenROAD Trace Window. Allow macro %p, %d %t to be passed in the title.
Add Errortext attribute
Add Errortext attribute to the XmlSchemaCache class.
Enhance macros
Enable macros %d for date and %p for processID to be expanded also for logfilename passed to the w4gldev and w4glrun commands. Add macro %t for time.
Add DROP IF EXISTS statement
SQL statement DROP IF EXISTS is available in OpenROAD 4GL.
Add new events MENUSELECT and CHILDMENUSELECT
Add new events MENUSELECT and CHILDMENUSELECT for MenuFields and MenuGroups. The events are not queued but are generated immediately.
Improve performance for LOB data types
Increase performance for sending/receiving LOB data for Ingres datatypes LONG BYTE and LONG VARCHAR represented by OpenROAD system classes LONGBYTEOBJECT and LONGVCHAROBJECT, respectively.
Enhance internal processing of RPC responses
The ability to translate OpenROAD RemoteServer.Call4GL() invocations into JSON RPC requests with internal processing of the RPC responses into OpenROAD variables has been added.
Add JsonRpcResult attribute
Add attribute JsonRpcResult to the RemoteServer system class. This attribute stores a JSONVALUE, which is the return value of the remote procedure called using the RemoteServer.Call4GL() statement when the routing is http-jsonrpc.
Add grpc routing
Provide grpc routing for the RemoteServer.Initiate() method to access gRPC-based OpenROAD Server (orspogsvr). Use libcurl calls rather than Microsoft COM classes to perform the HTTP POST request for http-jsonrpc routing.
A new environment variable, II_W4GL_RS_ROUTES, has been added which when set to a path of a JSON-format file containing alternate routing information for applications running within an OpenROAD application server. It serves to convert existing applications using RemoteServer.Call4GL() statements with http routing into JSON RPC requests using http-jsonrpc routing. This eliminates any 4GL changes needing to be made.
Add OperatingSystemDetails attribute
Add SessionObject attribute OperatingSystemDetails to provide more information about the operating system OpenROAD is running on.
Improve help test display
The help text for the menus of the Workbench display in the statusbar as they are when running Workbench classic mode.
Update environment variable
Environment variable IIW4GL_DEBUG_3GL has been replaced with II_W4GL_DEBUG_3GL. IIW4GL_DEBUG_3GL still works but trace might be incomplete.
Add LastRuntimeError attribute
Add an attribute to the CurSession class that stores information about the last 4GL runtime error generated. This JsonObject attribute is named LastRuntimeError and contains ErrorCode, ErrorText, ErrorDate, Severity, Module and LineNumber attributes.
Enhance Application Import dialog
Application Import dialog does not validate the input file name if the user clicks on the Browse button.
Enhance exporting components
You can export a component in XML format when using Workbench Classic.