Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

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_ISO MDS 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_ISO MDS Objects.

  • processObjectId search 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.004 mds objects to the Summary instructionReceivedAt field. 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.

    • 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 metaDataTags has 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:

{
  "alg": "HS512"
}
{
  "sub": {
    "password": null,
    "username": "username",
    "authorities": [],
    "accountNonExpired": true,
    "accountNonLocked": true,
    "credentialsNonExpired": true,
    "enabled": true
  },
  "iat": 1736766003028,
  "roles": {
    "BANK_ENTITY_1": [
      "ROLE_1",
      "ROLE_2"
    ]
  }
}

Now the token has been made smaller, 'sub' has been changed to align to a more standard JWT token layout:

{
  "alg": "HS512"
}
{
  "sub": "username",
  "iat": 1737129789,
  "roles": {
    "BANK_ENTITY_1": [
      "ROLE_1",
      "ROLE_2"
    ]
  }
}

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

Removed

N/A

Migration Steps

  • Bump ipf-release-ops-gui-bom to 2024.3.1.140 in 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-java17 to 2.2.0 in 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/*.json to 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/paymentsearch to ./api/ods

@iconsolutions/htm

  • Bump npm module to "@iconsolutions/htm": "^18.0.1" in package.json

@iconsolutions/metrics

  • Bump npm module to "@iconsolutions/metrics": "^18.0.0" in package.json

@iconsolutions/permissions

  • Bump npm module to "@iconsolutions/permissions": "^18.0.1" in package.json

  • Get latest translation file from transloco scoped libs runner

@iconsolutions/processing-settings

  • Bump npm module to "@iconsolutions/processing-settings": "^18.0.11" in package.json

@iconsolutions/version-info

  • Bump npm module to "@iconsolutions/version-info": "^18.0.1" in package.json