TOLERANT MPM Release 2.0


Notices and Warnings

  • The table „externalcustomers“ was removed. Please use the migration tool with clearChecksums before starting the migration. The structure of the loader csv-files was changed as follows:
    • The file externalcustomers.csv was removed.
    • Customers can be referenced using the internal loader reference, the database id or a key-provider/external-key combination.

    This change affects the following files:

    • customers.csv
    • customernames.csv
    • customerexternalkeys.csv
    • customeremails.csv
    • customerphones.csv
    • customerpostaladdresses.csv
    • customerconsents.csv
    • customerblockings.csv

    This change could affect custom stored functions (consolidation function) and views. The change affects many tables in MPM. We recommend you to backup the old database and use the migration tool before starting the service.
    The following rights were renamed:

    • CustomerDataAdmin to CustomerAdmin
    • CustomerDataView to CustomerView
    • CustomerDataAdminExtended to CustomerAdminExtended
    • CustomerDataDeletionAdmin to CustomerDeletionAdmin
    • CustomerDataReviewer to CustomerReviewer

    The following right was added: CustomerConsentAdmin. This right can be used to create and change customer consents.

  • The configuration section for the database has changed. Please refer to the manual for more information.
  • The query parameters level replaces roots-only when searching for legal entities. Setting level to (0) returns all roots, while setting the level to (null) returns all available legal entities.
  • MPM uses a new configuration file application.yml. The name of the configuration file was changed because some of the changes are not backwards compatible. It is advised to backup the old configuration file mpm-config and copy its content to the new one.
  • The configuration of the signing phrase is moved to the security section of the configuration files service/application.yml, gui/application.yml and wsauth/application.yml.
    Please make sure, that the backend and its clients are using the same phrase.
    The signing phrase used to generate JWT-tokens can now be configured using an external file (default path: $TMPM_HOME/config/wsauth.signingphrase).
  • The CustomerAdmin roles contains the three new roles. If you want for example to disable the (de-)merge endpoints, you have to replace CustomerAdmin with CustomerSearcher, CustomerActivationAdmin and CustomerEditAdmin.

New Product Features

Client GUI

  • TPR-9314: Added support for the additional birth information of customers.
  • TPR-9644: Added shortcut from search request details view to consolidation and vice versa.
  • TPR-9933: Expansion of the legalEntity hierarchy to a third level now shows in GUI.
  • TPR-9939: Added possibility in GUI to manage multiple key-providers and external-keys for legal entities
  • TPR-10027: Added possibility to manage the new entity Contact in the GUI and assign them to legal entities.
  • TPR-10131: Table filtering methods now universally support methods for simple text search (all columns) OR syntax based search over specific columns.
  • TPR-10202: The lifecycle of a CustomerConsent object was extended to support the usage of Double Opt In. Users can now:
    • Create new CustomerConsents in the state Preliminary
    • The status can be changed from Preliminary to Valid
    • The status can be changed from Preliminary to Invalid
  • TPR-10212: Upgraded GUI to version 14 of Angular.
  • TPR-10215: Upgraded GUI to version 6 of FrontAwesome.
  • TPR-10220: Unified the depiction and alignment for all buttons in GUI.
  • TPR-10283: The GUI now supports the merge/de-merge functionality for duplicated customers.
    In addition, new markers have been added to signal already merged and protected customers.
    For details on the merge/de-merge functionality and its rules please contact or refer to the manual.
  • TPR-10393: Added localized error messages in GUI that are retrieved from service.
  • TPR-10454: Reworked the Look&Feel of checkboxes in the GUI. This also fixed some minor usability problems.
  • TPR-10583: When a customer is demerged, the changes that occurred since his merge will be lost. Those changes are now presented for the user to manually decide how to proceed.
  • TPR-10596: Added functionality to toggle visibility of table columns.
  • TPR-10906: Lookup-values are now consistently shown with their external value in GUI except if there are no lookup-values to be found for the given internal value.
  • TPR-11126: Three new roles were added to MPM to facilitate more control over the the customer resource:
    • CustomerSearcher: Enables searching for customers.
    • CustomerActivationAdmin: Enables activating and deactivating of customers.
    • CustomerMergeAdmin: Enables merging and demerging customers.
    • CustomerEditAdmin: Enables creating and updating customers.


  • TPR-6986: The tenant creator command can now read configurations and usese the same options as the MPM Loader (-c|-url -username -password )
  • TPR-11170: The new property features allows the installer to selectively install certain parts of MPM. Possible values are ALL(*), SERVICE and GUI.


  • TPR-7441: The API object ErrorMessage was extended so that it can store multiple errors.
  • TPR-8435: Added new endpoint /customers/consolidatedpermissions for combined search and consolidation with the possibility to pass a minimal Match score threshold.
  • TPR-9453: The multiple configuration section for customers.match in $TMPM_HOME/config/service/application.yml can now be used to customize the integration of TOLERANT Match for certain tenants. This now allows the additional mapping of tenant -> Match profile.
  • TPR-9465: Improved error handling in case of databases errors to better reflect the cause in the service response.
  • TPR-9641: Search requests can now be referenced in the following consolidation requests by using the querylogId returned by the search.
  • TPR-9847: When a customer is searched and found via multiple identifiers (postal addresses, e-mail addresses and phone numbers), they are now sorted according to the new attribute rank. The best result has rank=1. Rank=0 means that either the identifier was not found, or that all found identifiers have the same ranking.
  • TPR-9850: The new search API „v1/customers/search“ can be used to search for multiple identifiers of the same type (e.g. email). You can also combine the search with identifiers with the search fol external keys.
  • TPR-9930: The legal entity hierarchy now consists of three levels (compared to two levels before) to accommodate customers with complex legal entity structures.
  • TPR-9984: The data-type of the ID column was change to be able to store more data. This change affects the following tables:
    • changelog
    • customer
    • customer_name
    • customer_postaddress
    • customer_phone
    • customer_email
    • customer_external_key
    • customer_consent
    • customer_blocking
    • querylog
  • TPR-10024: New entity Contact was added to store contact information and assign them to legal entities.
  • TPR-10031: It is now possible to configure MPM with multiple databases, so that a single tenant or a group of tenants can use separate databases.
  • TPR-10457: MPM now uses a lazy database connection pool, so that connections are created later (when first accessing the database). This should reduce the amount of blocked connections (for example in case of long running Match search requests).
  • TPR-10821: It is now possible to filter legal entities using their tree level. Root entities have the level (0).
  • TPR-10943: Updated endpoint /v1/lookup-values/ to allow filtering by externalsystem name, language code, lookup-type, active entries only and entries without language.
  • TPR-11152: It is now possible to configure the service to clear the migration checksums if an error has occurred. Please refer to the documentation for more details.
  • TPR-11303: Reworked the documentation to reflect the changes regarding the configuration coming with version MPM 2.0.


  • TPR-7116: Upgraded the internal JVM and compiled application with version 11.0.18_10.
  • TPR-8748: The external customer table was removed. Identifiers, consents and blockings now reference the customer table directly.
  • TPR-9690: A customer now can have additional birth information stored. This is also supported when searching for a customer.
  • TPR-9739: The type of the changelog entry is now defined by the table on which the change is made.
  • TPR-9936: Legal entities can now have multiple external keys provided by external systems of the type legalEntityKeyProvider.
  • TPR-10283: The GUI now supports the merge/de-merge functionality for duplicated customers.
    In addition, new markers have been added to signal already merged and protected customers.
    For details on the merge/de-merge functionality and its rules please contact or refer to the manual.
  • TPR-10752: Online help was updated to reflect new GUI features.
  • TPR-10839: MPM now uses a new framework for the backend with embedded Netty:
    • Tomcat is no longer needed for MPM.
    • Nginx is used as a proxy to direct requests between the MPM backend, MPM-GUI and WsAuth.
    • New configuration file application.yml.
    • Each component has its own configuration directory:
      • config/service: MPM backend
      • config/gui: MPM GUI
      • config/tools: MPM loader and tenant CLI tools
      • config/wsauth: WsAuth service
      • config/nginx

    MPM swagger definition now uses OpenAPI V3 specification.

  • TPR-10875: Updated the help messages and examples of the MPM CLI tools.
  • TPR-10930: The signing phrase used to generate JWT-tokens can now be configured using an external file (default path: $TMPM_HOME/config/wsauth.signingphrase).
  • TPR-11195: The standard docker shipment of the new MPM version now contains a docker-compose file, which starts multiple docker images. The shipped example is able to run out of the box, and contains an NGINX webserver. For more information about usage and migration from older MPM docker installations please refer to the oder the migration guide in the documentation.
  • TPR-11222: The new delivery format of MPM 2.0 with docker-compose file now also contains a new frontend to support with monitoring the application. For this purpose a preconfigured Grafana container has been added to the docker-compose. The example installation can later be customized according to customer preferences.
  • TPR-11303: Reworked the documentation to reflect the changes regarding the configuration coming with version MPM 2.0.

Fixed Bugs

Client GUI

  • TPR-9405: Purposes with slashes in their name can now be edited via GUI.
  • TPR-10271: Boolean filter on table columns now show the selected value as icon.
  • TPR-10469: Reorganized fields for the different searches and fixed minor bugs when showing the results.
  • TPR-10859: Datacategories an now be properly edited and saved via GUI.
  • TPR-10863: Tooltips are now positioned correctly on focused elements.
  • TPR-10874: The button to reject a textblock when reviewing it now appears correctly in all circumstances.
  • TPR-11199: GUI-cache for requests will now be invalidated if an update or delete for the same url is send in the meantime.
  • TPR-11394: Handling of mandatory fields now works correctly for all elements when creating a new consentTextGroup version.


  • TPR-10386: It is now possible, to search via a customerName object that has filled at least one ef-field. That means that the remaining components of customerName can be left empty.
  • TPR-10951: Added check for conflicting external keys when creating a new customer.

Known Bugs

  • TPR-11435: Some unnecessary and non functional buttons appear when adding objects like contacts to legal entities.