...
SCL-4367 Resolve incorrectly-show additionalProp1 value in sample JSON in Swagger documentation
Description:
Updated the Swagger UI to the latest version to remove incorrect additionalProp1 propery in sample JSON.
SCL-4412 ServiceNameMappingService now checks for connected SmartDB
Description:
A recent change to the ServiceNameMappingService caused issues when used in a thin-client as it was attempting to call into SmartFramework business entities directly without using the Service Adapter even when the SmartDB was not connected.
This issue is resolved now.
SCL-4413 SmartBusinessEntityLookupDialog did not resolve foreign fields when positioning on the current record
Description:
We have fixed an issue in the SmartBusinessEntityLookupDialog when used with ForeignFields of the SmartBusinessEntityLookup. The lookup dialog now also properly resolves the values of the Foreign Fields when retrieving data to be shown in the dialog.
Improvement
SCL-4338 The ProTop logo and download URL have been updated in the SmartComponent Library desktop
Description:
The ProTop logo and download URL have been updated in the SmartComponent Library desktop to reflect the current White Star Software branding.
SCL-4378 Implement support for overriding the HTTP POST method using the X-HTTP-Method-Override header
Description:
Implement support for overriding the HTTP POST method with PUT, PATCH or DELETE using the X- HTTP -Method-Override header for RESTful requests. If a request is made with the POST method and the request has an _X- HTTP -Method-Override_ header, the RestEntitiesWebHandler will run the relevant ABL method for values of PUT, PATCH and DELETE. If any other value is provided, an _Consultingwerk.OERA.RestResource.BadRequestException_ exception is raised, and a 400/Bad Request status is returned.
The header is ignored for requests made with any other HTTP method.
SCL-4388 Implemented logging for exceptions in the FileUploadService
Description:
Any exceptions raised in the Consultingwerk.Web2.Services.FileUpload.FileUploadService service during the processing of a file upload are now logged using the FileUploadService custom log entry type.
For more information on how to set custom log entry types, see the documentation at https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094147/Using+custom+log+entry+types .
SCL-4406 Security Realm Drop down in security maintenance screens now be longer
Description:
We’ve extended the size of the security realm drop down in the various security maintenance screens. This should avoid the scrollbar shown in the drop down and simplify selection of a security realm.
SCL-4414 Implemented support for server-side manipulation of UI Controls
Description:
We have implemented basic support for manipulation of UI Controls in a Viewer from backend methods (Business Tasks or Business Entities). This provides the foundation for handling UI events more completely on the AppServer and support moving complex screen-logic as Business Logic to the AppServer.
Business services can now return an instance of the Consultingwerk.CommonUi.UiControl class. The SmartViewerControl now provides new methods to support moving screen-logic to the AppServer. Those methods are also available through facades on the SmartViewerLogic class:
| No Format |
|---|
ASSIGN hScreenValues = THIS-OBJECT:GetScreenValuesDataset() . |
Returns a dynamic ProDataset with the structure of the viewer’s DataSource’s ProDataset and a single record representing the screen-values of the viewer.
Developers are responsible for deleting this ProDataset instance.
In a client-side event handler, a call into a business task (aka presentation service) may be made passing the screen-value and receiving an instance of the UiControl object in return:
| No Format |
|---|
oUiControl = CAST (FrameworkSettings:ServiceAdapter:InvokeTask2 ("",
"Demo.PresentationService.OrderPresentationService":U,
"HandleCustNumChanged":U,
INPUT-OUTPUT DATASET-HANDLE hScreenValues,
?),
UiControl). |
The HandleUiControl method then allows to process UI Control instructions from the UiControl instances, such as:
* enabling/disabling fields
* viewing/hiding fields
* setting the Infragistics StyleSetName of fields
* controlling the field that has focus
| No Format |
|---|
THIS-OBJECT:HandleUiControl(oUiControl, hScreenValues) . |
When Save or Cancel of the viewer is completed, the viewer should reset the state of the fields:
| No Format |
|---|
THIS-OBJECT:ResetViewerState () . |
Within the Business Task method, the UiControl is maintained like this:
| No Format |
|---|
METHOD PUBLIC UiControl HandleCustNumChanged (INPUT-OUTPUT DATASET dsOrder,
piCustNum AS IntegerHolder):
DEFINE VARIABLE oUiControl AS UiControl NO-UNDO .
DEFINE VARIABLE oControl AS FieldControl NO-UNDO .
FIND FIRST eOrder .
ASSIGN eOrder.Instructions = "Handle with care" .
oUiControl = NEW UiControl() .
oControl = oUiControl:FieldControls:Add("Instructions") .
oControl:Style = "error" .
oControl:Enabled = FALSE .
oControl = oUiControl:FieldControls:Add("Carrier") .
oControl:Visible = FALSE .
oUiControl:FocusFieldName = "Terms".
RETURN oUiControl .
END METHOD. |
...
SCL-4416 Resolved issues in Toolbar Security Item Maintenance when multiple toolbars are contained in a Form
Description:
We have resolved issues in the Toolbar Security Item Maintenance caused by multiple SmartPanelController instances contained in a single form.
Story
SCL-4329 Swagger documentation supports methods that return an array of objects
Description:
The generated Swagger documentation for invokable methods that return an array of object now shows the correct schema for such methods, including whether the array is indeterminate or of a fixed size.