The Uniface 10 documentation is regularly updated to reflect new features, enhancements, bug fixes, and user feedback.
There are no significant documentation updates in this patch.
When using USYSXLST to transform XLM streams at runtime, Uniface calls the Xalan XSLT processor to perform this transform. A note has been added to explain how Uniface calls Xalan on Linux and its fallback mechanism. For more information, see
If the callfieldtrigger statement tries to call a menu trigger that is not defined at field level, it falls back to the same trigger at a higher level, such as the entity, component, or application. Previously, the highest documented level was the component level.
Note: If you defined an application-level menu trigger, this could lead to unexpected behavior if you previously relied on callfieldtrigger only falling back to a lower level.
For more information, see callfieldtrigger.
When using the License Management utility (ulic) to activate and return Sentinel licenses, you need to use the /prep command for certain license types to prepare your system for licensing by creating persistence data. For more information, see Creating Persistence Data with ulic /prep.
The Sentinel RMS License Manager and Cloud-Plug-in can now be installed non-interactively without starting the services or configuring a license, using the
-installonly argument. For more information, see
Properties that define the size and position of frames in forms and reports are now labeled consistently in the Properties Inspector, thus Top, Left, Height, and Width, instead of X-Position, Y-Position, X-Size, and Y-Size. The documentation has been updated to reflect this change. For more information, see Height, Width, Top, and Left.
When you install Uniface and select a cloud-served standalone license, the Uniface Router is now configured to act as the cloud-served license client that downloads the cloud-served license, and the Uniface Server(s) check out the license as a standalone license file. This improves performance in environments with multiple Uniface Servers. In upgraded versions of Uniface, you can configure this manually. To disable this feature, remove the $LICENSE_OPTIONS setting from your urouter.asn file.
For more information, see Configuring Cloud-Served Standalone Licenses.
When generating Java files using /sto, the output file name and at least one component signature must be specified. If the format is incorrect, an error showing the correct format is displayed. For more information, see /sto.
The GET_LAST_ERROR operation allows you to troubleshoot the source of a SEND operation
-12 error. For more information, see GET_LAST_ERROR.
For more information, see $itemnr.
The documentation on web applications has been enhanced to better explain the role of the webget and webgen statements in loading and generating a Uniface Server response. For more information, see Processing Requests and Responses for Static Server Pages.
For the Uniface Enterprise Edition, you can ensure that your licensing system is always online by configuring redundant Sentinel license servers. To do so, your Sentinel Entitlement needs to include the Redundant RMS feature. Contact your Uniface representative to add this to your on-premises served network license. For more information, see
Setting the CellHeight value to less than
100 causes the text in Unifields to be slightly truncated at the bottom. For more information, see
The ProcScript function $oprsys returns code
T when running on Microsoft Windows Server 2019. For more information, see $oprsys.
To return an on-premises network license, use the Revoke Tool prior to uninstalling the RMS License Manager. If you uninstall your RMS License Manager or it is not running when returning your license, you need to manually revoke your license. For more information, see Returning On-Premises Served Network Licenses.
The Line Space property affects only the runtime layout, not the layout in the Design Frames worksheet. For more information, see Line Space (LineSpace).
For more information, see urm entitycopy.
Windows 11 features a new look and feel, and this has required some changes to initialization settings to ensure that existing Uniface desktop applications can run using the Windows 11 conventions. In addition, new window and widget properties have been added to provide more control when designing form components.
If you intend to run your existing application on Windows 11, you will need to make a few changes to your application initialization file to ensure the best compliance with the new Windows 11 look and feel. The default usys.ini delivered in a Uniface installation has already been updated to reflect these changes.
For application to look their best on Windows 11, apply the following changes in the application initialization files:
- Update the Windows definition in the [application] section to include the CellHeight and LineSpace properties:
To ensure that adjacent fields do not have overlapping borders in existing applications, the recommended value of CellHeight is
110. If you currently use a cell height of
100, this slightly increases the size of existing forms. If this is unacceptable, you can use a cell height of
105instead. Setting the value to less than
105causes the text in input fields to be slightly truncated at the bottom.
The values set for CellHeight and LineSpace in the initialization file are ignored for forms in which these values are specified as window properties.
- Remove the CellHeight and LineSpace initialization settings from the [upi] section.
Note: For compatibility reasons, if the initialization settings CellHeight and LineSpace in the [upi] section are set to values other than their defaults (CellHeight=100 and
Linespace=0), they will take precedence over the values set by the Windows setting in the initialization file.
For more information, see Window.
The CellHeight and LineSpace for Windows applications can now be set as Window properties. You can set them globally for the entire application using the Windows setting in the [application] section of the initialization file, or you can set them in the Windows properties of a form component. They are static properties, but the property name and value are returned by $widgetproperties.
In addition to the ComboBox and DropDown List widgets, the property Draw 3-D Frame Outside is now available for the following Form widgets: Edit Box, Output Box, Rich Edit Box, and Spin Button.
It should be set to
false (the default) to ensure that the 3-D border does not interfere with adjacent fields.
For more information, see Draw 3-D Frame Outside (DrawOutside).
For the Radio Group widget, the Transparency property should be set to
false to ensure that the radio buttons are correctly displayed when running on Windows 11. If Transparency is
True, the button that is selected appears hexagonal instead of round. For more information, see
The ProcScript function $oprsys returns code
Q when running on Windows 11, and code
R when running on Windows Server 2022. For more information, see $oprsys.
When installing the Sentinel RMS License Manager with a cloud-served license and no proxy server, the script now tests the connection to the Sentinel Cloud server before continuing. If there is a problem with your connection or firewall settings, you can fix it and try again without exiting the installation script. For more information, see
Added steps for configuring a Sentinel local license file for iSeries. For more information, see Configure a Sentinel License on iSeries.
Activating multiple Entitlement IDs is now possible using the Sentinel RMS License Manager Installer on Linux. A friendly name can also be added for your machine when activating your cloud-served network license. For more information, see
The maximum key length supported by the Informix database connector has been increased to 511 for Informix OL. However, to use this new maximum key length, the page size used by the database needs to be at least 4K. For more information, see DBMS Connector Limits.
The previously undocumented
EXPECTEDRESPONSE properties returned by $webinfo("WebServerContext") are deprecated and should not be used. They do not provide the proper information for contained DSP instances. Use $webrequesttype and $webresponsetype instead. For more information, see $webinfo ("WebServerContext") .
The documentation about the active path has been rewritten and now includes information about the effect that collection and occurrence operations can have on the active path. For more information, see Active Path for Runtime Processing.
Activating multiple Entitlement IDs is now possible using the Sentinel RMS License Manager Installer on Windows. For more information, see Installing the Sentinel RMS License Manager on Windows.
Users will now be notified if their maintenance contract is coming to an end, or if it has ended. These messages can be managed using $LICENSE_OPTIONS with
LM_MAINTENANCE_NOTIFICATION. Messages can be customized using the
For more information, see $LICENSE_OPTIONS.
The Java Call-In API no longer supports remote message invocation (RMI), and the simple RMI server previously provided by Uniface is no longer supplied. The documentation has been updated to reflect this change. For more information, see Java Call-in API.
When installing Uniface using the Windows installer, you can choose to re-use an existing standalone license (cloud-served or on-premises) license, if it is activated and in the default location. To do so, choose the installer option I will configure manually later, or use existing Standalone licensing. Uniface will use this activated license to proceed with the installation.
For more information, see
Updates to the Entitlement of a cloud-served license will not take effect the first time you start your Uniface application. Start and stop the application or remove the license file to reflect the changes to your Entitlement.
For more information, see Updating Cloud-Served Standalone Licenses.
Uniface now supports Java Call-In on Linux. For more information, see Java Call-In.
For more information, see spawn.
The Uniface License Management Utility now allows you to activate multiple Entitlement IDs. On Windows, you can use the License Activation utility from the Start menu for cloud-served standalone licenses. On all platforms, you can use the Uniface License Management command line utility (ulic) with the /act command. Each Entitlement ID must be added and activated one at a time.
For more information, see Uniface License Management Utility (ulic).
When installing the RMS License Manager, you can choose to configure your license manually later. The RMS License Manager and the Sentinel Cloud Plug-in will be installed but not started.
For more information, see
The Uniface License Management utility grants all users full privileges to the license folder to allow Uniface Server users to update a cloud-served license file. If you change USYSLIC to point to a folder of your own choice, you must start the Uniface License Management utility with an account that has permission to access that folder, or the Uniface Server will not renew the cloud-served license. For more information, see USYS Path Logicals.
Uniface now supports Java Call-In on Windows 10. The documentation on how to call Uniface components from Java has also been rewritten to provide a better overview and instructions. For more information, see Java Call-In.
Prior to version 7.0.0, PouchDB included default adapters for IndexedDB and the deprecated WebSQL database. The actual adapter used was handled transparently, depending on the platform and browser. The latest version only includes the IndexedDB adapter.
For more information, see Client-Side Data Storage.
When compiling C or C++ components that integrate with Uniface, we recommend using the same compiler (or a compliant compiler) as is used to compile the Uniface sources. The compilers used depend on the operating system and are listed in the Platform Availability Matrix. For more information, see Compiling and Linking 3GL.
The default value for $ENHANCED_EDIT is
0 (No option enabled). For more information, see
When activating a cloud-served standalone license, you can add a friendly name for your machine, which is used to recognize the machine in the Sentinel EMS portal. You can edit the friendly name when activating your Sentinel license.