What's New in the Documentation for this Patch (10.4.02.008)
The Uniface 10 documentation is regularly updated to reflect new features, enhancements, bug fixes, and user feedback.
Significant documentation changes are listed here. For the complete list of new software features, bug fixes, and platform support updates, see Rocket Community: Downloads on Rocket Community.
10.4.02.008
There are no significant documentation updates in this patch.
10.4.02.007
Do not use either the goto statement or ProcScript label inside a try, catch, or finally block. This results in a compilation error. For more information, see try.
The Project Editor has been enhanced to support the Load Definitions facility for SQLite, Sybase, and MySQL. This enables you to create modeled entities using the definitions of your existing SQLite, Sybase, or MySQL databases.
For more information, see
The table describing how Uniface packing codes are mapped to SQLite storage formats has been enhanced to include SQLite typenames. For more information, see SQLite Data Packing.
10.4.02.006
An exception caused by code that is exception-enabled will now always bubble up the call stack until it is caught by a corresponding try-catch block or exit as an uncaught exception. Previously a module needed a throws declaration in order to raise an exception to its caller. With this change, every module can raise an exception that bubbles up and pass it up the call stack, even if a module has no throws declaration or try block surrounding the module.
For more information, see Exception Handling and throws.
10.4.02.005
The rethrow statement rethrows an exception that was caught in a catch block. This is useful when you want to handle an exception at a different level to which it was caught. rethrow allows you to catch the exception and rethrow it, for a caller to handle it at a higher level.
For more information, see rethrow.
Instructions have been added to configure a redundant RMS License Manager pool with a cloud-served network license. A redundant RMS pool uses redundant RMS License Managers to ensure your licensing system is always online. To configure this, your Sentinel Entitlement needs to include the Redundant RMS feature. Contact your Uniface representative to add this to your cloud-served network license.
For more information, see
10.4.02.004
The overview of Sentinel License Types has been updated with more information on the Entitlement Certificate you receive when registering with Uniface, and the available variations of the license model.
For more information, see Sentinel License Types.
10.4.02.003
The Uniface License Management utility (ULIC) now runs repair code if creating persistent storage fails. You can also run ULIC with the /repair flag on its own or with a separate flag for each type of persistent storage. For more information, see Uniface License Management Utility (ulic).
The finally declaration marks ProcScript inside a try-endtry block that must be executed, regardless of whether an exception occurs or not. This is useful to execute cleanup activities, such as data cleanup or closing a connection, that should occur irrespective of any exceptions.
For more information, see finally.
10.4.02.002
The Uniface License Management utility (ULIC) now has a default timeout of 2 minutes, if it fails to retrieve a response when connecting to the Sentinel Cloud Server to activate or return a license. You can change the length of this timeout, for example if you have slow network speeds, by adding the ULIC_TIMEOUT
logical and a valid number to your ulic.asn file.
For more information, see ULIC_TIMEOUT.
The USYSHTTP component function that returns the request handler is now customizable. vRequestHandler=getHandler()
gets the request handler based on the component type of the requested component. You can modify this to add your own way to identify the request handler.
Previously when the requested component was not valid, $procerror-50
(<UACTERR_NO_SIGNATURE>
) was returned. With this change, if the component is not valid, $procerror-156
(<UACTERR_WRONG_IMPLEMENTATION>
) is returned instead. As the USYSHTTP component source code is now provided, you can customize the ProcScript error sent from the USYSHTTP.
For more information, see
The customizable USYSHTTP component is accompanied with a USYSHTTP Global ProcScript library. The modules in this library provide helper functions for the USYSHTTP component, including functions specific to the DSP protocol. These modules cannot be edited or debugged, however you can replace these functions with your own to customize the behavior before and after handling web requests, and create robust web request handlers. The high-level function of these functions is now documented.
For more information, see
10.4.02.001
The $componenttype function has been enhanced to return the component type based on the component name. To maintain compatibility, the component instance name is used first to get the component type. If an instance was not created, the component name will be used instead to return the component type.
Previously, if the instance was not found, <UPROCERR_INSTANCE>
was returned. This is no longer the case. If you used $componenttype to check whether a component is already instantiated, please use $componentname instead.
For more information, see $componenttype.
We now provide a Uniface Server Docker Image that allows you to run Uniface solutions in a containerized Docker environment. It contains a Linux Uniface server environment, including the Uniface Router and Uniface Server. This image is based on the RedHat Linux Universal Base Image 8 Minimal distribution that is designed for applications containing their own dependencies.
For more information, see Uniface Server Docker Image.
You can find an online course on How to Deploy Uniface Solutions using Docker on the Rocket® Uniface elearning site (learn.uniface.com).