Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.