If you are maintaining Uniface applications, specifically in the web/mobile space using UX Widgets, Patch 10.4.03.015 is one of those updates you cannot afford to ignore. It brings a handy new UI control, better code organization, but also a significant breaking change regarding how widgets communicate.
Here is the breakdown of what landed in this patch and how it impacts your development workflow.
1. The New uxlistbox Widget ๐
For a long time, we had to rely on workarounds or generic implementations for certain selection lists. This patch introduces the uxlistbox as a native field-level widget.
What is it?
It's a dedicated control for displaying a list of items where the user can select exactly one option (Single Select).
Why use it?
It simplifies the UI definition for standard "pick one" scenarios without the overhead of a full dropdown (combobox) or radio button group, especially when you want the options permanently visible. It behaves like a standard HTML <select size="n"> but integrated into the Uniface lifecycle.
2. โ ๏ธ The Big One: UX Widget Interface Version 2
This is the most critical part of the update. Uniface has updated the underlying protocol for how UX Widgets handle data.
The Change:
The API functions used in widget developmentโspecifically processLayout, onConnect, dataUpdate, and dataCleanupโnow use a new format for their data argument. This is officially Interface Version 2.
The Catch (Breaking Change):
- Incompatibility: Version 2 is now the default. If you have existing custom widgets written for Version 1, they might stop working or throw runtime errors if not updated.
- Configuration: Your logical widget definitions likely need the new setting:
uxInterfaceVersion = 2. - Web.ini: The
web.inifile has been updated to reflect this.
How to fix it?
If you use standard Uniface widgets, you are fine. If you have built your own custom JavaScript widgets:
- Check your code: You likely need to refactor how you parse the incoming data object.
- Use the Tool: Uniface provided a Compatibility Utility. Run this to automatically attempt to upgrade your widget definitions to the new standard.
Summary
Patch 10.4.03.015 is heavily focused on "Developer Experience" (DX). While the uxlistbox is a nice-to-have, the Interface V2 is a must-know.
- Upgrade Step: Run the compatibility utility if you use custom widgets.
- Refactor Step: Look for duplicated JS code in your widgets and move it to
IncludeScript.
Happy coding! ๐ป
References: Rocket Uniface Library 10.4 - Patch Notes
Top comments (0)