ODS & GUI - Changes & Fixes
This page covers the Operation Data Store (ODS) and GUI changes and fixes provided in release IPF-2024.4.0.
ODS
New
-
Support added to return
NON_ISOMDS objects for the following ODS Inquiry endpoints:-
/api/v2/all/mds-objects -
/api/v2/all/mds-objects/{odsObjectId} -
/api/v2/all/mds-objects/{mdsObjectId}/history -
NOTE: The equivalent ODS Inquiry V1 endpoints also support returning
NON_ISOMDS Objects.
-
-
processObjectIdsearch parameter added to the following ODS Inquiry endpoints:-
/api/v2/all/process-objects -
/api/v2/catalogue/process-objects/message-logs -
/api/v2/catalogue/process-objects/process-flow-definitions -
/api/v2/catalogue/process-objects/system-events -
/api/v2/catalogue/process-objects/process-flow-events -
NOTE: The equivalent ODS Inquiry V1 endpoints also support searching by
processObjectId.
-
-
ODS Ingestion core summary mapping added for
pacs.004mds objects to the SummaryinstructionReceivedAtfield. See core summary mappings.
GUI
New
-
Selection Order to be Configurable Dynamically by Clients in the IPF GUI:
-
Agent Selection Settings can be viewed, edited, deleted and approved from the Agent Selection Settings page.
-
Agent Selection Options can be reordered by dragging and dropping or by changing the number in the order box.
-
-
Search Process Object Catalogue (System Events and Message Logs):
-
Users can now search for and view all system events and message logs stored within the library.
-
For more information, see the documentation on message logs and system events.
-
-
On the view page for a given process event, related objects are linked and can be navigated to by clicking on the ID.
-
-
Improve Role Based Access to IPF Components:
-
Metadata tags have been added to HTM tasks.
-
The metadata tags can be dynamically attached to a HTM Request based on data from the flow.
-
A search query parameter of
metaDataTagshas been added to the API.
-
-
Core Project Defects:
-
Block users from approving records they have created, edited or deleted in processing settings, this is configurable (default set to true) and can be switched off.
-
Auditing has been added for the deletion of a dynamic processing setting.
-
-
-
Configuration Changes:
-
HTTP client host and port transport configuration, requiring of approval for deletion, creation and updating, call time-out and resiliency-settings added for CS Agent Selection Settings:
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.host
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.port
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.deletion-requires-approval
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.creation-requires-approval
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.update-requires-approval
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.call-timeout
-
ipf.business-operations.processing-settings.cs-agent-selection-settings.http.client.resiliency-settings
-
-
Added new permissions roles for reading, creating, updating, approving and deleting CS Agent Selection Settings:
-
ROLE_DPS_SO_R
-
ROLE_DPS_SO_C
-
ROLE_DPS_SO_U
-
ROLE_DPS_SO_A
-
ROLE_DPS_SO_D
-
-
Configuration for system event names to be used in dropdowns on ODS Search in the UI:
-
ipf.business-operations.payment-search.system-event-names
-
-
Configuration for whether the creation, edit or deletion of a processing setting has to be authorized by another user. This is a boolean and default is true.
-
ipf.business-operations.processing-settings.requires-other-approval
-
-
Changed
-
Core Project Defects:
-
Critical user information (processing entity and username) is taken from the headers or JWT token (rather than the payload) when used to create a record, this is for security purposes to ensure data can not be falsely created, edited, approved, deleted or accessed.
-
The executionResultData property is now being mapped correctly when bulk executing HTM tasks.
-
Payment Search now returns correct results when searching by date.
-
User UI can now define how many tasks are seen in HTM search screen.
-
In Payment Search, search by originalInterbankSettlementDate results are accurate.
-
The ODS export button is now disabled when there are no results to export.
-
Searching for an audit record by ID now works.
-
ODS Summary Page alignment has been corrected.
-
In ODS Summary, mouse over now correctly shows related text.
-
-
GUI Improvements:
-
In Agent Settings, a blank option is now included for Identifier Type to enable the user to deselect an Identifier Type.
-
Descriptions are now displayed against user roles within permissions module.
-
Thousands separators present in all amount fields.
-
Breadcrumb font sizing is now the same for both link and title.
-
Pagination added to HTM search results.
-
Approval button no longer shows in action column when bank filtering rule has Active status.
-
Fixed issue with delay when setting up forms.
-
Processing Settings dialog alignment has been corrected.
-
Agent Settlement Settings form has been expanded to include the following additional fields:
-
Account Servicing Agent: Agent Country
-
Agent Limits: Limit Direction
-
Custom Participant Limits: Limit Direction
-
Country Limits: Limit Value, Limit Type, Country, Limit Direction
-
-
InnerHtml directive has been removed/content is checked before render.
-
Gui-service exception responses are now uniform.
-
Default date format is now configurable.
-
Updated jjwt dependency to the latest version (0.12.6).
-
|
This is a BREAKING CHANGE as the JWT token has been changed due to this update. Previously the token looked like this:
Now the token has been made smaller, 'sub' has been changed to align to a more standard JWT token layout:
Please follow migration steps below to update. |
-
ODS Payment Search module name change
Both front-end and back-end have had a name change of the payment-search modules to be ods in order to match with its actual use. The ods-payment-search module and npm package have been renamed to ods. This is a breaking change, please follow migration steps to update. -
In ops-gui-service-ng the new modules are ops-gui-service-ng-ods-parent, ops-gui-service-ng-ods-api, ops-gui-service-ng-ods.
-
-
Angular 18
As of 2024.4 the Operational Dashboard and all related modules have been updated to Angular 18, please follow migration steps below to update. -
ODS Export date format is now configurable
This is a breaking change as a new parameter has been added to the request, please follow migration steps below to update. -
Configuration Changes:
-
Made number of HTM tasks displayed on the search page configurable.
-
ipf.business-operations.human-task-manager.htm-page-results
-
-
Date formats are now configurable by providing the following injection tokens in the
app.module.ts:-
IPF_DATE_DISPLAY_FORMAT
-
IPF_DATE_TIME_DISPLAY_FORMAT
-
IPF_DATE_TIME_INPUT_FORMAT
-
IPF_DATE_INPUT_FORMAT
-
-
Migration Steps
-
Bump
ipf-release-ops-gui-bomto2024.3.1.140in pom.xml-
As part of this change the Subject class (com.iconsolutions.ipf.gui.core.auth.util.Subject) was replaced with the Spring User class (org.springframework.security.core.userdetails.User) for conformity across auth methods.
-
As the auth mechanism has been updated slightly, you may need to clear cache or close existing sessions if you are working during this upgrade.
-
-
Bump
icon-dependency-management-java17to2.2.0in pom.xml -
Update your Angular Dashboard to Angular 17 angular.dev/update-guide?v=16.0-17.0&l=1
-
Update your ngRx to be 17 ngrx.io/guide/migration/v17
-
Update your Angular Dashboard to Angular 18 angular.dev/update-guide?v=17.0-18.0&l=1
-
Update your ngRx to be 18 ngrx.io/guide/migration/v18
-
Update your Angular Dashboard to change the ODS dependency:
<artifactId>ops-gui-service-ng-payment-search</artifactId>
to
<artifactId>ops-gui-service-ng-ods</artifactId>
-
Update your Angular Dashbaord’s app-routing.module.ts file and change the route to be:
{
path: 'ods',
data: { roles: ['ROLE_PAYMENT'] },
canActivate: [RoleGuard],
loadChildren: () => import('@iconsolutions/ods').then((m) => m.OdsModule)
}
-
Update @iconsolutions/* npm packages as detailed below:
@iconsolutions/audit
-
Bump npm module to
"@iconsolutions/audit": "^18.0.3"in package.json -
Refactor
i18n/audit/*.jsonto reflect new json structure removing configuration details from translation sheet.
"auditColumns": [ { "name": "time", "label": "Created", "type": "moment" }, … ]
"auditColumn": { "time": "Created" …
@iconsolutions/cluster-health
-
Bump npm module to
"@iconsolutions/cluster-health": "^18.0.0"in package.json
@iconsolutions/common
-
Bump npm module to
"@iconsolutions/common": "^18.2.3"in package.json -
See docs around new injection tokens for date formats
@iconsolutions/ods
-
Change
"@iconsolutions/ods-payment-search"npm module to"@iconsolutions/ods": "^18.1.4"in package.json -
Get latest translation file from transloco scoped libs runner
-
Change any payment search api references from
./api/paymentsearchto./api/ods
@iconsolutions/permissions
-
Bump npm module to
"@iconsolutions/permissions": "^18.0.1"in package.json -
Get latest translation file from transloco scoped libs runner