Changelog

Diese Seite zeigt alle Änderungen, die in den Releases der einzelnen Versionen enthalten sind.

Für Administratoren und Developer gibt es separate Changelogs (Administrations-Changelog und Developer-Changelog). Diese sind eine Teilmenge dieses Changelogs, mit Einträgen, die nur für diese Personen relevant sind.

Für manche Versionen ist ein Update einzelner Systemkomponenten (Karaf, OpenSearch) oder anderer Bestandteile nötig. Im Update-Guide ist beschrieben, wie diese aktualisiert werden können.

Erläuterungen zum Changelog

Innerhalb jeder Version sind Änderungen nach verschiedenen Kategorien gruppiert:

  • Breaking Changes
    Änderungen, die ein bestehendes Verhalten von Funktionen ändern oder die möglicherweise zusätzliche Arbeiten beim Aktualisieren des BPCs nach sich ziehen.

    Lesen Sie die Hinweise am Breaking Change aufmerksam.

    Einträge dieser Kategorie tauchen ggf. erneut in einer der anderen Kategorien auf.

  • Empfohlene Anpassungen
    Handlungsanweisungen für das BPC Update sowie die Konsequenzen beim Befolgen oder Unterlassen der Anweisungen.

    Einträge dieser Kategorie tauchen ggf. erneut in einer der anderen Kategorien auf.

  • Neue Funktionen
    Funktionen, die mit dieser Version neu hinzugekommen sind.

  • Verbesserungen
    Verbesserungen an bestehenden Funktionen.

  • Security
    Änderungen, die potenzielle IT-Security-Risiken im BPC beheben oder das Sicherheitsniveau weiter anheben.

  • Bugs
    Behebungen von Fehlern verschiedenster Art.

  • Dokumentation
    Änderungen oder Erweiterungen der Produktdokumentation.

  • Dependency Updates
    Änderungen an intern genutzten Komponenten aus externen Quellen.

  • Sonstiges
    Änderungen, die keiner anderen Kategorie zugeordnet sind.

Zur Erklärung der Versionsnummerierung siehe Erläuterung zur Versionierung.

BPC 5.0.4

Release Datum: 2026-03-16

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | Karaf | OpenSearch

Update der internen Konfiguration

In dieser Version gab es Änderungen an der internen Konfiguration des BPC. Dies hat Auswirkungen auf Deployments zwischen BPC mit unterschiedlichen Versionen. Außerdem sind zusätzliche Schritte erforderlich, wenn ein Downgrade des BPC durchgeführt wird.

Weitere Informationen finden Sie auf der Seite Versionierung der internen BPC Konfiguration.

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

  • Refactoring OIDC/PKCE Handshake: Umstellung auf Stateless (Encrypted Cookie) zur DoS-Prävention BPC-10544

    Daten, die bei OIDC-Providern für den Login verwendet werden, werden in einem Cookie verschlüsselt beim Client hinterlegt. Dadurch wird eine Auslastung durch sehr viele Login-Anfragen verhindert.

    Für BPC-Modulentwickler

    Sollten Sie eine eigene UserFlowIdentityProvider-Implementierung entwickelt haben, müssen Sie diese anpassen. Die Funktion URI createAuthenticationRequestURI(String requestUrl) wurde mit UserFlowLoginContext createAuthenticationRequestContext(String requestUrl) ersetzt und gibt neben der Redirect-URL zum OIDC-Login nun auch einen Cookie, welcher den Login-State enthält, zurück. Dieser Cookie wird beim Login-Versuch vom Frontend gesetzt.

    Für BPC-Administratoren

    Installieren Sie die neuen Module bpc-be-core.jar und bpc-fe-core.war. Ein Neustart des BPCs/Karaf ist notwendig. Sollte das BPC dann immer noch nicht zur Verfügung stehen, löschen Sie bitte das Verzeichnis karaf/data und starten sie den Karaf erneut. (Evtl. machen Sie davor ein Backup Ihrer Log-Files)

    Betrifft: BPC Core |

  • Umbenennung und Zusammenführen von Monitor-Settings zum Download über HTTP-Proxy-Verbindungen BPC-10572

    Im Process-Monitoring wurden die Einstellungen inubit_referenceEndpoint, inubit_proxyId, inutbit_baseUrl zum Download über einen HTTP-Proxy zusammengeführt und in httpProxy_referenceEndpoint umbenannt, so dass die Möglichkeit eines Downloads über eine generische HTTP-Proxy-Verbindung verdeutlicht wird. Die Einstellung inubit_dbTablePrefix wurde entfernt, da sie nur für Legacy-Szenarien verwendet wurde.

  • WebTSM: Zugriff auf REST Endpunkte einschränken BPC-10655

    Timeseries Management Administratoren brauchen, wenn sie nicht der Rolle "bpcadmin" angehören und bisher nur das Recht "webtsm_admin" hatten, nun statt dessen das Recht "webtsm_edit". Einem Timeseries Management Administrator könnte - anstatt dem spezifischen Recht - auch die Rolle "WEBTSM_ADMIN" zugewiesen werden. Dies wäre auch gleich Zukunftssicherer, wenn z.B. in Folgeversionen bei den Endpunkten - anstatt dem Recht "webtsm_edit" fein granulare Rechte festgelegt werden.

    Betrifft:

  • Data Management Modul Backend entfernt BPC-10696

    Das Data Management Modul hat keine eigenständige Backend-Komponente (bpc-be-vam.jar) mehr. Die muss beim Update entfernt werden. Für die Verwendung des Moduls reicht die Verwendung von bpc-fe-vam.war aus.

    Das Data Management Modul wurde in den regulären Releasezyklus mit aufgenommen.

    Betrifft: Karaf |

  • Setting baseUrl entfernen BPC-9924

    Das Setting baseUrl entfällt, da der Wert (cxf) ein statischer Teil der API URL ist und nicht geändert wird.

    Nicht zu verwechseln, mit bpcBaseUrl. Dieses Setting bleibt unverändert bestehen.

    Betrifft: BPC Core |

  • Index-Export für neue Import-Funktion BPC-10386

    Das Format für Index-Imports wurde auf ein ZIP-basiertes Format geändert. Dies ist dasselbe Format das auch unser opensearch-tool zum Importieren und Exportieren von Indizes erzeugt. In der Administrationsoberfläche unter Core ServicesIndizes können solche Index-Export-Dateien heruntergeladen werden.

    Achtung: Sollten Sie die Index-Import-Funktionalität für eine Installation mit vorkonfiguriertem BPC verwenden, muss die Export-Datei neu erstellt werden.

Neue Funktionen

  • JSON-Dateien formatiert anzeigen in Childlogs BPC-10378

    Betrifft: Process Monitoring |

  • Hakom Cloud Anbindung BPC-10476

    • Basic Authentication
      Bitte laut der HAKOM PowerTSM Dokumentation die Basic Auth Unterstützung aktivieren. In der "module_apis" Einstellung des Timeseries Management Moduls werden Benutzername (username) und Passwort (password) hinterlegt (siehe Beispiel). Außerdem sollte noch die Authentifizierungsmethode (authenticationMethod) auf Basic Auth festgelegt werden. Dies ist auch der Default, wenn das Feld authenticationMethod nicht existiert.

      Basic Auth Beispiel
      {
          "webtsm01": {
              "application": "TSM",
              ...
              "authenticationMethod": "Basic",
              "basicAuth": {
                  "username": "virtimo",
                  "password": "<ein_sehr_sicheres_passwort>"
              },
              ...
          }
      }
    • API Keys Authentication
      Bitte laut der HAKOM PowerTSM Dokumentation zuerst die API Key Unterstützung aktivieren und einen API Key generieren. Diesen generierten API Key (apiKey) dann in der "module_apis" Einstellung des Timeseries Management Moduls hinterlegen (siehe Beispiel). Außerdem muss noch die Authentifizierungsmethode (authenticationMethod) auf ApiKey Auth umgestellt werden.

      API Key Auth Beispiel
      {
          "webtsm01": {
              "application": "TSM",
              ...
              "authenticationMethod": "ApiKey",
              "apiKeyAuth": {
                  "apiKey": "<der_vom_webtsm_erzeugte_api_key>"
              },
              ...
          }
      }
    • Token Authentication
      Bitte laut der HAKOM PowerTSM Dokumentation die Token Authentifizierung aktivieren. Derzeit wird nur der Grant Typ "client_credentials" unterstützt, welcher die Client ID sowie das Client Secret benötigen. Diese mit dem Scope und der Access Token URL des verwendeten Identity Providers in der "module_apis" Einstellung des Timeseries Management Moduls hinterlegen. Außerdem muss noch die Authentifizierungsmethode (authenticationMethod) auf Token Auth umgestellt werden.

      Token Auth Beispiel
      {
          "webtsm01": {
              "application": "TSM",
              ...
              "authenticationMethod": "Token",
              "tokenAuth": {
                  "accessTokenUrl": "https://xyz.virtimo.cloud/auth/realms/tsm/protocol/openid-connect/token",
                  "clientID": "webtsm",
                  "clientSecret": "<das_zugehoerige_client_secret>",
                  "scope": "openid profile email"
              },
              ...
          }
      }

    Betrifft: BPC Core |

  • File-Storage: Anlegen von File-Referenz über Referenz zum Cloud-Dienst BPC-10506

    Dateien im File-Storage können neben einem direkten Upload nun auch über eine Referenz zu einer Datei im Cloud-Storage-Provider erstellt werden. Dafür wird ein neuer Endpunkt in der File-Storage API angeboten. Im Log-Service können Dateien (bei Feldern vom Typ file-storage) auch als Dateireferenz zum Cloud-Storage-Provider übermittelt werden.

    Darüber hinaus wird beim Upload und Download bei allen unterstützten Cloud-Providern der Content-Typ gesetzt.

    Betrifft: BPC Core | Dokumentation |

  • File-Storage-Backend Connections: Option um Downloads über das BPC zu leiten BPC-10541

    File-Storage-Backend Connections können nun so konfiguriert werden, dass Downloads über das BPC geleitet werden. Siehe core:/admin/modules/backend_connections.adoc#file_storage. Downloads über den File-Storage-Service werden nun im Audit-Log dokumentiert.

    Betrifft: BPC Core | Dokumentation |

  • File-Storage Download im Process Montitor BPC-10560

    Die File-Storage Log-Service-Integration wurde für den Process-Monitor angepasst, sodass dieser diese Dateien als Download und zur Ansicht anbieten kann: Dafür wird im Log-Service für Felder vom Typ file-storage beim Logging in OpenSearch und relationale Datenbanken zwei weitere Felder mit dem suffix _filename und _contentType erstellt.

    Im Process-Monitor können jetzt auch Dateien aus dem File-Storage bezogen werden.

    • Sollten Sie Dateien aus dem File-Storage im Monitor anzeigen wollen, und diese Downloads nicht über das BPC leiten, müssen CSP und CORS Einstellungen angepasst werden. Genaueres kann in Dateianhänge nachgelesen werden.

    • Wenn Sie Log-Service-Instanzen konfiguriert haben, die Felder vom Typ file-storage verwenden, dann sollte der entsprechende Index reindiziert werden.

  • Index-Export für neue Import-Funktion BPC-10386

    Das Format für Index-Imports wurde auf ein ZIP-basiertes Format geändert. Dies ist dasselbe Format das auch unser opensearch-tool zum Importieren und Exportieren von Indizes erzeugt. In der Administrationsoberfläche unter Core ServicesIndizes können solche Index-Export-Dateien heruntergeladen werden.

    Achtung: Sollten Sie die Index-Import-Funktionalität für eine Installation mit vorkonfiguriertem BPC verwenden, muss die Export-Datei neu erstellt werden.

Verbesserungen

  • Zusätzlicher http Header "X-Correlation-ID" BPC-10509

    Über die WebTSM Einstellung module_apis können zusätzliche HTTP Header definiert werden, welche dann bei jedem WebTSM API Aufruf gesetzt werden. Dazu das Feld additionalHttpHeaders mit den zu setzenden HTTP Header aufnehmen (siehe Beispiel). Als Variablen, wie das unten stehende ${config.de.virtimo.bpc.core.karaf.uuid}, können die Gleichen wie beim BPC HTTP Proxy gesetzt werden.

    {
      "testserver": {
        "cache_refresh_full_cron_expression": "0 0/4 * * * ?",
        "doNotDeleteId": "116428970808333",
        "password": "******",
        "application": "TSM",
        "cache_refresh": 5,
        "url": "http://xyz:8050/",
        "username": "virtimo",
        "additionalHttpHeaders": {
          "X-Correlation-ID": "Beispieltext - ${config.de.virtimo.bpc.core.karaf.uuid}"
        }
      }
    }

    Betrifft: BPC Core |

  • Monitor Dateidownload BPC-5775

    Die Konfiguration von Dateianhängen und Download im BPC-Monitor wurde umstrukturiert:

    • In einem Monitor (sowohl in den Parent- als auch in den Childdaten) ist es nun möglich, mehrere Spalten zu definieren, die Dateianhänge enthalten.

    • Die Einstellung (column_file) der Spalte, die den Dateiinhalt bzw. die Dateireferenz enthält, entfällt damit. Stattdessen wird ein Dateianhang in der Spaltenkonfiguration der Parentdaten (column_config) bzw. Childdaten (column_historyConfig) konfiguriert. Dafür wird dort ein Eintrag fileConfig angelegt, welches die Dateinamenspalte und die Content-Type-Spalte bestimmt:

    {
        ...
        "dataIndex": "datei",
        "text": "Datei",
        ...
        "fileConfig": {
            "columnFileName": "filename",
            "columnContentType": "contentType"
        }
    }
    • In dem Einstellungsobjekt fileConfig kann optional mit dem Feld dataSource bestimmt werden, aus welcher Quelle (OpenSearch, HTTP-Proxy) die Dateien bezogen werden sollen.

    • Spalten vom Typ Attachment Column können nun auch in Child-Grids verwendet werden.

    • Bestehende Monitorinstanzen werden durch eine Migration an die neue Konfiguration angepasst.

    • In der im Installer ausgelieferten Jetty-Konfiguration wurde der CSP-Header so angepasst, dass Bilder im Monitor angezeigt werden können.

    Weitere Informationen können hier nachgelesen werden: Konfiguration der Monitor-Spalten und Dateianhänge.

    Achtung: Monitorinstanzen hatten die Einstellung column_mimetype zum Festlegen des Spaltennamens bereitgestellt, welcher auf den Content-Typ der Dateien verweist. Im Backend wurde jedoch inkonsistent der Spaltenname contentType verwendet. Deshalb wurde bei der Migration der Instanzen die Einstellung column_mimetype ignoriert. Falls diese verwendet wurde, überprüfen Sie bitte die entsprechende Monitor-Instanz und passen Sie diese ggf. an.

  • Window-Resizes im Dashboard sollten keine ungespeicherten Änderungen darstellen BPC-8057

    Betrifft: Process Dashboard |

  • Sharing-Links zu lang BPC-10262

    Sharing-Links für Monitor Prozesse wurden gekürzt. Der Link enthält nur noch Informationen über die aktive Ansicht, die Filter und Sorter.

    Betrifft: Process Monitoring |

  • Prozesskontext mitliefern, wenn Prozessstarter über Aktion aufgerufen wird BPC-10275

    Betrifft: Process Monitoring |

  • Formular im Forms Repo löschen können BPC-10298

    Formularversionen und Formulare können jetzt im Forms Repository gelöscht werden.

    Betrifft: Forms |

  • "disabled": true für alle Forms Komponenten (inkl. Tabellen Spalten/Zellen) funktionsfähig machen BPC-10300

    disabled und readOnly ist verfügbar für Tabellenspalten. disabled, readOnly und required werden bei Gruppen Komponenten nur noch zur Konfiguration vererbt. Attribute werden dabei nicht überschrieben.

    Betrifft: Dokumentation | Forms |

  • Texte in der Oberfläche für Mehrsprachigkeit angepasst BPC-10436

    Betrifft: Data Analysis |

  • Defaultwert für Sortierung der Gruppierung im Prozessmonitor hinzufügen BPC-10485

    In den Monitoreinstellungen kann man nun die initiale Sortierreihenfolge für Gruppen konfigurieren. Siehe Einstellung column_groupDirection

  • WebTSM Cache Optimierung BPC-10517

    1. Inkrementelle Aktualisierung
      Über die module_apis Einstellung cache_refresh (Angabe in Minuten; 60 Minuten ist die Voreinstellung) wird festgelegt, in welchen Abständen nach neuen, aktualisierten oder gelöschten Zeitreihen gesucht wird. Dabei werden nur die Daten berücksichtigt, welche seit dem Datum der letzten Synchronisation in die Ergebnismenge fallen.

    2. Zeitpunkt der vollständigen Aktualisierung
      Die vollständige Aktualisierung des Zeitreihen-Caches wurde bisher über die module_apis Einstellung cache_refresh_full durchgeführt. In der Voreinstellung wurde dies alle 24 Stunden, ab dem Zeitpunkt, an dem das WebTSM Modul gestartet wurde, durchgeführt. Diese Option wurde durch cache_refresh_full_cron_expression ersetzt. Hier kann eine Cron-Expression nach dem Format des verwendeten Quartz-Schedulers hinterlegt werden. So kann z.B. jeden Sonntag um 21:00 Uhr der Zeitreihen-Cache neu aufgebaut werden (0 0 21 ? * Sun). Ist diese Option nicht gesetzt, dann wird auch keine vollständige Aktualisierung durchgeführt.

    3. Durchführung der Vollständigen Aktualisierung
      Bisher wurden bei der vollständigen Aktualisierung, über EINEN Request an das WebTSM, alle Zeitreihen ausgelesen und lokal im BPC vorghalten (Cache). Diese Option ist auch weiterhin der Default für die vollständige Aktualisierung. Allerdings kann dies nun auch auf ein Seiten- bzw. Blockweises Auslesen der Zeitreihen umgestellt werden. Dazu über die module_apis Einstellung cache_refresh_full_default_mode den Modus einstellen: Full oder FullPaginated. Um herauszufinden, welcher vollständige Aktualisierungsmodus das WebTSM weniger belastet, können beide mal zu Testzwecken manuell über folgende WebTSM-Endpunkte gestartet werden:

    4. Folgende module_apis Einstellungen können außerdem die Synchronisation beeinflussen:

      • cache_refresh_paginated_fetch_block_size (5000) = Seitenweises Auslesen der Zeitreihen. Je Request wird diese Anzahl Zeitreihen vom WebTSM abgefragt, bis alle existierenden Zeitreihen verarbeitet wurden. Kommt nur zum Einsatz falls FullPaginated als Modus verwendet wird.

      • timeout (60) = Gab es schon zuvor. Es ist das Abfrage-Timeout, welches nur bei der vollständigen Aktualisierung für den EINEN Request an das WebTSM verwendet wird.

      • timeout_general (2) = Das Abfrage-Timeout, welches bei allen anderen Zugriffen auf das WebTSM verwendet wird.

      • cache_refresh_opensearch_bulk_block_size_deleted (2500) = Bei der inkrementellen Synchronisation werden die Lösch-Anweisungen in diesen Bulk-Größen an OpenSearch übergeben. Ist der Wert zu hoch, dann kann es zu OutOfMemory Fehlern kommen. Ist der Wert zu klein, dann werden zu viele HTTP-Requests an OpenSearch gesendet. Das sich negativ auf die Performance auswirken kann.

      • cache_refresh_opensearch_bulk_block_size_changed (2500) = In diesen Bulk-Größen werden die Zeitreihen-Daten an OpenSearch übergeben. Ist der Wert zu hoch, dann kann es zu OutOfMemory Fehlern kommen. Ist der Wert zu klein, dann werden zu viele HTTP-Requests an OpenSearch gesendet. Das sich negativ auf die Performance auswirken kann.

        Die Werte in Klammern sind dabei die Voreinstellung

    Betrifft: BPC Core |

  • Refactoring OIDC/PKCE Handshake: Umstellung auf Stateless (Encrypted Cookie) zur DoS-Prävention BPC-10544

    Daten, die bei OIDC-Providern für den Login verwendet werden, werden in einem Cookie verschlüsselt beim Client hinterlegt. Dadurch wird eine Auslastung durch sehr viele Login-Anfragen verhindert.

    Für BPC-Modulentwickler

    Sollten Sie eine eigene UserFlowIdentityProvider-Implementierung entwickelt haben, müssen Sie diese anpassen. Die Funktion URI createAuthenticationRequestURI(String requestUrl) wurde mit UserFlowLoginContext createAuthenticationRequestContext(String requestUrl) ersetzt und gibt neben der Redirect-URL zum OIDC-Login nun auch einen Cookie, welcher den Login-State enthält, zurück. Dieser Cookie wird beim Login-Versuch vom Frontend gesetzt.

    Für BPC-Administratoren

    Installieren Sie die neuen Module bpc-be-core.jar und bpc-fe-core.war. Ein Neustart des BPCs/Karaf ist notwendig. Sollte das BPC dann immer noch nicht zur Verfügung stehen, löschen Sie bitte das Verzeichnis karaf/data und starten sie den Karaf erneut. (Evtl. machen Sie davor ein Backup Ihrer Log-Files)

    Betrifft: BPC Core |

  • WebTSM Code umstellen so dass der HTTP Proxy nicht mehr vom Frontend aufgerufen wird BPC-10557

    Nur das WebTSM Backend kommuniziert direkt mit Hakom. Das WebTSM Frontend nur noch mit dem WebTSM Backend. Das bedeutet, dass keine Backend Connection vom Typ "HTTP Proxy" mehr notwendig und die Einstellung "tsm_backendConnectionId" bei den WebTSM Viewer Komponenten entfallen ist.

    Betrifft:

  • Fallback Werte aus Status Combobox im Prozessstatuswechsel filtern BPC-10559

    Wenn beim Prozessstatuswechsel "useRendererValues" true ist, werden in der Status-Combobox nicht mehr die Fallback Werte "" und "*" angezeigt.

    Betrifft: Process Monitoring |

  • Umbenennung und Zusammenführen von Monitor-Settings zum Download über HTTP-Proxy-Verbindungen BPC-10572

    Im Process-Monitoring wurden die Einstellungen inubit_referenceEndpoint, inubit_proxyId, inutbit_baseUrl zum Download über einen HTTP-Proxy zusammengeführt und in httpProxy_referenceEndpoint umbenannt, so dass die Möglichkeit eines Downloads über eine generische HTTP-Proxy-Verbindung verdeutlicht wird. Die Einstellung inubit_dbTablePrefix wurde entfernt, da sie nur für Legacy-Szenarien verwendet wurde.

  • Mehrsprachigkeit in Forms BPC-10598

    Mehrsprachigkeit wurde verbessert. Die Sprachen cs, da, de, en, es, fi, fr, it, js, ko, nl, pt, ru entsprechend der ISO 639-1 Sprachcodes sind nun verfügbar. Falls eine Sprache nicht verfügbar ist oder unvollständig, wird auf Englisch zurückgegeriffen.

    Betrifft: Forms |

  • "Modul anzeigen" funktioniert beim WebTSM Frontend nicht immer BPC-10606

  • Monitor Export: Download sofort starten bei streambaren Format BPC-10631

    Betrifft: Process Monitoring |

  • Bessere Validierung von Index-Namen BPC-10633

    Betrifft: BPC Core |

  • WebTSM: Vordefinierter Basic Auth Header Wert kann entfernt werden BPC-10651

    Bitte in der Timeseries Management JSON Einstellung Allgemein → module_apis die Werte mit dem Key "authorization" entfernen. Dieser Wert beinhaltet den Benutzername und Passwort im Klartext (Base64 encoded) und wird nicht mehr benötigt.

    Betrifft:

  • Fallback für Instanztypen Übersetzungen im InstanceGrid BPC-10654

    Betrifft: BPC Core |

  • WebTSM: Zugriff auf REST Endpunkte einschränken BPC-10655

    Timeseries Management Administratoren brauchen, wenn sie nicht der Rolle "bpcadmin" angehören und bisher nur das Recht "webtsm_admin" hatten, nun statt dessen das Recht "webtsm_edit". Einem Timeseries Management Administrator könnte - anstatt dem spezifischen Recht - auch die Rolle "WEBTSM_ADMIN" zugewiesen werden. Dies wäre auch gleich Zukunftssicherer, wenn z.B. in Folgeversionen bei den Endpunkten - anstatt dem Recht "webtsm_edit" fein granulare Rechte festgelegt werden.

    Betrifft:

  • Datensatz ID als data-testid im DOM BPC-10662

    Durch diese Änderung können Tabellen in der GUI besser automatisiert getestet werden.

    Betrifft: BPC Core |

  • Typo im Replikationseditor BPC-10664

    Betrifft: BPC Core |

  • Fehlende Language Keys in en.json BPC-10695

    Betrifft: BPC Core |

  • BpcCommon.Api.getCsrfToken soll nur eine Kopie des Objektes zurückgeben BPC-10717

    Betrifft: BPC Core |

  • Basic Auth PopUp vom Browser bei Flow Requests unterdrücken BPC-10727

    Betrifft: BPC Core | Dokumentation |

  • Theming der Wahlmöglichkeiten im Kalender verbessern BPC-9516

    Betrifft:

  • Setting baseUrl entfernen BPC-9924

    Das Setting baseUrl entfällt, da der Wert (cxf) ein statischer Teil der API URL ist und nicht geändert wird.

    Nicht zu verwechseln, mit bpcBaseUrl. Dieses Setting bleibt unverändert bestehen.

    Betrifft: BPC Core |

  • "Nicht Default" Marker in bpcConfigSettings zu groß BPC-10307

    Betrifft: BPC Core |

  • Vom Core forcierte Setting-Gruppen werden nicht mit Setting-Gruppen vom Modul gemerged BPC-10409

    Doppelte Setting-Gruppen werden zu einer Gruppe gemerged

    Betrifft: BPC Core |

Security

  • TSM Zugangsdaten für alle WebTSM User sichtbar BPC-10545

  • HTTP-Proxy-API: Fehler-Responses enthalten nicht die URL des Zielsystems. BPC-10607

    Betrifft: BPC Core |

  • Findings in: opensearch-common:3.2.0 BPC-10352

Bugs

  • viewmode "tabbed" zeigt keine Tabs an BPC-10624

    Betrifft: BPC Core |

  • Process Actions Response gibt keine Fehlermeldung bei parse-Fehler. BPC-8443

  • Monitor-Export: Spalten mit gleichem dataIndex aber unterschiedlichen Renderern werden korrekt exportiert BPC-9725

    Falls in einer Monitor-Instanz mehrere Spalten konfiguriert sind, die den selben dataIndex verwenden, aber durch Custom-Renderer unterschiedlich dargestellt werden, wird dies jetzt beim Export korrekt berücksichtigt. Außerdem werden beim Export Mappings für leere Werte und Fallback-Werte in Custom-Renderern berücksichtigt. (Einträge "!" und "*")

  • OpenAPI Schema-Dokumentation fehlerhaft BPC-9803

    Fehler in der Schemagenerierung von einigen DTO-Klassen wurde behoben.

    Betrifft: BPC Core |

  • Process Monitor - Data Filter werden im Export automatisch auf Child Daten angewandt BPC-10018

    Bei einem Monitor-Export von Child-Daten wird die data_filter-Einstellung auf die dazugehörigen Parent-Einträge angewendet.

    Betrifft: Process Monitoring |

  • Neue Installation: Indizes fehlen BPC-10045

  • BPC DetailView PopUp process details are rendered empty if header was hidden before BPC-10180

    Betrifft: Process Monitoring |

  • Dynamiclist-Filter mit Template-Columns funktionieren nicht BPC-10241

    Das Filtern auf die Spalte ist nun wieder möglich. Es wurde auch eine zusätzliche Option eingefügt, für den Filter ein abweichendes Template zu setzen. Dies kann nötig sein, wenn das Spalten-Template auf andere Felder als das in dataIndex angegebene zugreift.

  • Process Monitor / FlexTable: Pluginzuweisung schlägt fehl, wenn Monitor-ID als String statt als Numerischer Wert konfiguriert ist BPC-10276

    targetModule wird in der viewConfiguration automatisch zu einem String umgewandelt

    Betrifft: BPC Core |

  • Form im Process Monitor Popup View skaliert nicht raumfüllend BPC-10326

    Betrifft: Process Monitoring | Forms |

  • Number Filter wird bei Modulsprung nicht angewendet BPC-10381

    Betrifft: Process Monitoring |

  • Default settings - groupname - "config" BPC-10402

    Absicherung von BpcCommon.Api.getTranslation: Falls eine Übersetzung fälschlich ein Objekt liefert (z. B. bei config), wird nun auf den Schlüsselstring zurückgefallen, um [object Object] zu vermeiden.

    Betrifft: BPC Core |

  • preselectState "_first", wenn "useDistinctValues" false BPC-10417

    Beim Prozessstatuswechsel kann jetzt auch "preselectState": "_first", wenn "useDistinctValues" false ist und custom States verwendet werden. Siehe auch Prozessstatuswechsel Konfiguration

    Betrifft: Process Monitoring |

  • Fehler beim Abruf von Rollen, Rechten und Organisationen während des Logins im BPC-Frontend behoben BPC-10443

    Betrifft: BPC Core |

  • Fehlerbehebung im Process-Monitor: DynamicList-Filter in Ganzzahlfeldern (Integer, Long) funktionieren wieder BPC-10596

  • Layout Fehler Checkboxgroup BPC-10600

    Das Spacing Problemen von Checkboxen innerhalb einer Checkboxgroup wurde behoben.

    Betrifft: Forms |

  • Monitor: Fehlerbehebung beim Abruf aller unterschiedlicher Werte zum Filtern bei Feldern mit numerischen Werten BPC-10612

    Betrifft: Process Monitoring |

  • Monitor: Export von Childdaten exportiert alle Child-Spalten BPC-10628

    Zuvor wurden nur Spalten in den Child-Daten exportiert, für die es auch Spalten im Parent-Monitor gibt, die einen gleichnamigen dataIndex verwenden.

    Betrifft: Process Monitoring |

  • Process-Monitor: Spaltenfilter berücksichtigen globalen Filter korrekt BPC-10647

    Betrifft: Process Monitoring |

  • Monitor-Export: Export schlägt fehl, falls instance_data_view_limit < Scroll-Batch-Size BPC-10665

    Ein Export im Process-Monitor funktioniert jetzt, auch wenn instance_data_view_limit bzw. monitor_data_view_limit kleiner als 2500 ist.

    Betrifft: Process Monitoring |

  • Monitor-Konfiguration-Panel hängt wegen fehlender Column_Configs BPC-8191

    Betrifft: Process Monitoring |

Dokumentation

Interne Abhängigkeiten / Dependency Updates

  • Update OpenSearch BPC-10342

    Aktualisieren Sie OpenSearch entsprechend der Updateanleitung

  • Update ace-builds BPC-10550

    Betrifft: BPC Core |

  • Update com.azure:azure-storage-blob BPC-10588

    Betrifft: BPC Core |

  • Update com.nimbusds:oauth2-oidc-sdk BPC-10592

    Betrifft: BPC Core |

  • Update Karaf BPC-10608

    Mit diesem Update wird die Version von Apache Karaf auf 4.4.10 angehoben. In diesem Zusammenhang ist es erforderlich, die folgenden Module zu aktualisieren: bpc-be-core, bpc-be-analysis, bpc-be-forms und bpc-be-monitor.

    Bitte aktualisieren Sie Karaf gemäß der Updateanleitung.

    Anpassung der Logging-Konfiguration

    Die Konfigurationsdatei etc/org.ops4j.pax.logging.cfg wurde im Zuge eines Log4J-Updates angepasst. Wichtig: Übernehmen Sie diese Datei nicht unverändert aus einer bestehenden (alten) Karaf-Installation. Falls Sie individuelle Anpassungen vorgenommen haben, übertragen Sie diese bitte manuell in die neue Konfigurationsdatei.

    Hinweis für BPC Modul-Entwickler

    Wenn in Ihrem BPC-Backend-Modul die Abhängigkeit jackson-annotations verwendet wird und dabei bislang die Variable ${jackson.version} genutzt wurde (um die gleiche Version wie in den BPC-Core-Modulen zu referenzieren), ist dies anzupassen. Verwenden Sie stattdessen ${jackson.annotations.version}.

  • Update ajv BPC-10618

    Betrifft: BPC Core | Forms |

  • Update froala-editor BPC-10640

    Betrifft: BPC Core |

  • Update marked BPC-10642

    Betrifft: BPC Core |

  • Update com.google.cloud.google-cloud-storage.version BPC-10712

    Betrifft: BPC Core |

  • Update software.amazon.awssdk:s3 BPC-10714

    Betrifft: BPC Core |

Sonstiges

  • Unterstützung von Postgres JSONB-Spalten in Replikation BPC-10555

    Betrifft: BPC Core |

  • Data Management Modul Backend entfernt BPC-10696

    Das Data Management Modul hat keine eigenständige Backend-Komponente (bpc-be-vam.jar) mehr. Die muss beim Update entfernt werden. Für die Verwendung des Moduls reicht die Verwendung von bpc-fe-vam.war aus.

    Das Data Management Modul wurde in den regulären Releasezyklus mit aufgenommen.

    Betrifft: Karaf |

BPC 5.0.3

Release Datum: 2026-01-23

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Neue Funktionen

  • Url zu Flow in Zwischenablage kopieren BPC-10295

    Die URL zu Flow-Endpunkten kann direkt aus dem Flow Manager in die Zwischenablage kopiert und bspw. für Forms submit URLs weiterverwendet werden.

    Betrifft: BPC Core | Dokumentation |

  • OpenSearch Metriken BPC-10297

    Das Plugin prometheus-exporter wird nun standardmäßig mit OpenSearch ausgeliefert.

    Betrifft: OpenSearch |

Verbesserungen

  • OIDC Token als Alternative für API-Key BPC-9610

    Die BPC-API bietet nun auch eine Authentifizierung über Access-Tokens an, welche vom konfigurierten OIDC-Provider ausgestellt wurden. Die Authentifizierung über Access-Token muss explizit in der Identity Provider Konfiguration aktiviert sein. Wahlweise kann neben der Validierung der Signatur und Gültigkeit des Access-Tokens auch der Introspection-Endpunkt des OIDC-Providers verwendet werden, der zusätzlich überprüft, ob die Session beendet wurde (Token Revocation). Weitere Informationen können hier nachgelesen werden: Access-Tokens und Keycloak als Identity Provider.

    Betrifft: BPC Core | Dokumentation |

  • BPC Frontend: Custom Module sollen das Routing im BPC unterbrechen können BPC-10507

    Im Frontend wird vor dem Wechsel zu einer neuen Ansicht (Modul bzw. Modulkomponente) der globale Event beforeShowModule gefeuert. Als Parameter werden übergeben: Modul-ID der aktuellen Ansicht, Modul-ID der neu anzuzeigenden Ansicht und weitere Optionen. Wenn ein Event-Listener false zurück gibt, dann wird der Wechsel zur neuen Ansicht abgebrochen. Sollte dieses Verhalten angewendet werden, dann sollte der Benutzer auch eine Rückmeldung erhalten, warum der Wechsel abgebrochen wurde.

    Betrifft: BPC Core |

Bugs

  • Button für Prozessaktionen in der Detailview ist immer deaktiviert BPC-10518

    Seit BPC 4.2.13 und 4.1.25 wurden Prozess Aktionen in Child Grids nicht mehr angezeigt. Das wurde behoben und Prozess Starter werden nicht mehr fälschlicherweise im Child Grid angezeigt.

    Betrifft: Process Monitoring |

  • Schliessen des WebClient vom HttpProxy führt zu Fehlern BPC-10523

    Das in BPC 4.2.16 und 5.0.2 eingeführte Verhalten, dass in der Backend Connection die Verbindung explizit geschlossen wird, führte teilweise zu Problemen, bei denen Antworten vom Server nicht oder nur unvollständig übertragen wurden.

    Betrifft: BPC Core |

  • BreadCrumb Plugin wird nicht angezeigt BPC-10375

    BPC Breadcrumb Plugin wird wieder angezeigt

    Betrifft: BPC Core |

  • Fehler beim Anlegen einer neuen Komponente BPC-10403

    Betrifft: BPC Core |

Interne Abhängigkeiten / Dependency Updates

  • Update graaljs.version BPC-10524

    Betrifft: Data Analysis |

  • Update software.amazon.awssdk:s3 BPC-10525

    Betrifft: BPC Core |

  • Update froala-editor BPC-10526

    Betrifft: BPC Core |

  • Update com.azure:azure-storage-blob BPC-10527

    Betrifft: BPC Core |

  • Update com.github.freva:ascii-table BPC-10528

    Betrifft: BPC Core |

  • Update com.google.cloud.google-cloud-storage.version BPC-10529

    Betrifft: BPC Core |

  • Update marked BPC-10531

    Betrifft: BPC Core |

BPC 5.0.2

Release Datum: 2026-01-15

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | Karaf | OpenSearch

Neue Funktionen

  • BPC Forms AI Generation BPC-8640

    Im Forms Live-Editor gibt es nun eine KI-Unterstützung beim Erzeugen von Forms. Die Unterstützung wird in folgenden Releases an weiteren Stellen angeboten werden.

    Betrifft: BPC Core | Dokumentation | Forms |

  • AI Assistant BPC-9724

    Für die Nutzung des KI-Assistenten fügen Sie bitte das Plugin z.B. zu ihrer Application Toolbar hinzu.

    Betrifft: BPC Core | Dokumentation |

  • Azure Blob und Google Cloud Storage Unterstützung für File-Storage BPC-10268

    Der BPC File-Storage-Service unterstützt neben AWS S3 jetzt auch Azure Blob Storage und Google Cloud Storage.

    Um die File-Storage-Funktionalität zu nutzen, ist es erforderlich, dass das entsprechende Modul für den jeweiligen Cloud-Provider installiert ist, siehe File-Storage-Module. (Dies ist auch dann erforderlich, wenn zuvor File-Storage mit AWS S3 genutzt wurde.) Falls File-Storage mit AWS S3 schon verwendet wird, muss entsprechend auch das AWS S3 File-Storage-Module installiert werden.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Base-URL HTTPS Check BPC-10323

    Es wurde ein Security-Check eingeführt, der für die bpcBaseUrl-Einstellung prüft, dass HTTPS verwendet wird.

    Betrifft: BPC Core |

  • Zusätzliche HTTP Header für die Verwendung von HTTP Proxy Verbindungen BPC-10339

    Es ist nun möglich am HTTP-Proxy zusätzliche Header zu hinterlegen, die mit zum Server gesendet werden.

    Betrifft: BPC Core |

  • Index-Import BPC-10382

    Analog zum Import von Moduleinstellungen bieten wir nun die Möglichkeit, vorkonfigurierte OpenSearch-Indizes zu importieren, siehe Installation mit vorkonfiguriertem BPC.

    Betrifft: BPC Core | Dokumentation |

Verbesserungen

  • Beschleunigter Karaf Start BPC-9395

    Betrifft: Karaf |

  • Scripte bzw. Tools für den Export und Import von BPC Indices BPC-9518

    Es steht ein Kommandozeilentool zur Auflistung, Löschung sowie zum Export/Import von Indices zur Verfügung. Es heisst bpc-opensearch-tool.jar und kann vom Fileserver (https://files.virtimo.net/bpc/) geladen werden. Per java -jar bpc-opensearch-tool.jar --help wird die Hilfe aufgerufen.

    Betrifft: BPC Core |

  • externalReference Datenfeld per Default in Log Service Konfiguration BPC-10172

    Beim Erstellen einer Logservice-Instanz ist jetzt in der Standardkonfiguration das Feld External Reference vorhanden. Des Weiteren wurden die Feldtypen object und flat_object hinzugefügt.

    Betrifft: BPC Core | Dokumentation |

  • Erweiterung des TLS Security Checks BPC-10193

    Betrifft: BPC Core | Karaf |

  • Security Check HTTP BPC-10194

    Es wurde ein Security-Check eingeführt, der prüft, dass BPC nur über HTTPS erreichbar ist.

    Betrifft: BPC Core |

  • Korrekte Darstellung der Checkbox in bpcCheckColumn bei On/Off-Werten BPC-10224

    Betrifft: BPC Core |

  • Security-Check-Konfiguration aktualisieren BPC-10308

    Die ausgelieferte Konfigurationsdatei de.virtimo.bpc.core.security.checks.cfg enthält korrigierte und an aktuelle Checks angepasste Voreinstellungen.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Tooltip mit dem Link zur Quartz Scheduler Dokumentation lässt sich nicht klicken BPC-10312

    Tooltips mit URL-Links können mit dem Cursor erreicht werden, ohne dass diese verschwinden.

    Betrifft: BPC Core |

  • Replikation repliziert keine Sätze, wenn in initialer Tabelle nur Sätze aus der Zukunft sind BPC-10318

    Betrifft: BPC Core |

  • Deployment: Bundles Differ erkennt fälschlicherweise einen Unterschied BPC-10388

    Betrifft: BPC Core |

  • Monitor JSON Export per Default aktivieren BPC-10444

    Beim Erstellen einer Monitorinstanz ist jetzt per Default der Export im JSON Format aktiviert und steht somit zur Auswahl im Monitor Export Fenster

Security

  • DoS Angriff bei aktiviertem PKCE am Identity Provider BPC-10311

    Behebung eines potenziellen DoS-Angriffs, der bei sehr vielen parallelen Log-In-Aufrufen zu hohem Speicherverbrauch führt.

    Betrifft: BPC Core |

Bugs

  • Einstellbare Monitor-Export Limits unklar und werden beim Export ignoriert BPC-9840

    Das konfigurierte Limit (Max. Anzahl Datensätze) für XLSX wird beim Daten Export im Monitor wieder berücksichtigt. Für CSV und JSON kann jetzt auch ein Limit in der Export-Maske konfiguriert werden. Eine Obergrenze gibt es nur für XLSX, nicht für andere Dateiformate.
    Siehe auch Konfiguration des Monitor-Daten-Exports
    Export von Prozessen

  • Monitor Export: CustomRenderer-Konfiguration wird nur auf String-Daten angewandt und Custom-Renderer "true" verwendet immer defaultRenderer. BPC-9964

    Beim Export von Monitor-Daten mit konfigurierten Custom-Renderern wurden folgende Fehler behoben: - Custom-Renderer wurden nur auf Daten vom Typ String angewandt. Jetzt werden Custom-Renderer beim Exportieren auch auf die Typen Integer, Long und Boolean angewandt. - Für eine Spalte kann man als Custom-Renderer den Wert true setzen. In diesem Fall wird ein zum dataIndex gleichnamiger Custom-Renderer verwendet. Falls dieser nicht existiert, wird auf der Custom-Renderer "defaultRenderer" verwendet. Beim Export wurde in diesem Fall nur "defaultRenderer" verwendet. Dies wurde behoben.

    Betrifft: Process Monitoring |

  • Module type displayField / displayValue gibts nicht, Instanzen können nicht angelegt werden BPC-10005

    Bei GUI-Modulen, die Typen anbieten, können wieder Komponenten mit Typen angelegt werden. Übersetzungen für die Bezeichnung eines Typs erfordern keinen "CORE_" Präfix mehr. Das Schema für die Übersetzungsschlüssel ist "<MODULID>_INSTANCE_TYPE_<WERT>".

    Betrifft: BPC Core |

  • Fehler im Data Analysis Datensatz Modifikator BPC-10246

    Betrifft: BPC Core | Data Analysis |

  • UI: ModuleUpdated Event triggers Exception if Security Cockpit was not opened BPC-10273

    Behebung einer Exception beim Konfigurations-Update, wenn das Security Cockpit noch nicht geöffnet war.

    Betrifft: BPC Core |

  • Security Checks: Datum wird bei Messung nicht erfasst BPC-10315

    Security-Check-Messungen erfassen nun wieder einen Timestamp.

    Betrifft: BPC Core |

  • Security Cockpit erfasst nicht alle Checks BPC-10320

    Betrifft: BPC Core |

  • HttpProxyCheck: Zu viele Checks BPC-10340

    Der HttpProxySecurityCheck wird pro Instanz nur einmal ausgeführt.

    Betrifft: BPC Core |

  • Applikationsbereich mit ViewMode Tabbed zeigt Navigationsleiste an BPC-10374

    Betrifft: BPC Core |

  • Analysis: Default-Instance (BPC Default Reports) - Datenmodifikator-Tab disabled vor Speichern BPC-10419

    Die Default-Instanzen im Analysis-Modul werden jetzt korrekt initialisiert, sodass der Datenmodifikator direkt verfügbar ist.

    Betrifft: Data Analysis |

  • Automatische Migration bricht ab, wenn eine fehlerhafte Pluginkonfiguration vorliegt BPC-10480

    Eine fehlerhafte Pluginkonfiguration wird nun während der Migration ignoriert und als Warnung geloggt.

    Betrifft: BPC Core |

Dokumentation

Interne Abhängigkeiten / Dependency Updates

  • Update com.networknt:json-schema-validator BPC-10237

    Betrifft: BPC Core | Forms |

  • Update froala-editor BPC-10330

    Betrifft: BPC Core |

  • OpenSearch 3.3.0 BPC-10353

  • Update org.quartz-scheduler:quartz BPC-10357

    Betrifft: BPC Core |

  • Update org.slf4j:slf4j-nop BPC-10358

    Betrifft: BPC Core |

  • Update apache-poi monorepo BPC-10359

    Betrifft: Process Monitoring |

  • Update ace-builds BPC-10361

    Betrifft: BPC Core |

  • Update dompurify BPC-10394

    Betrifft: BPC Core | Forms |

  • Update org.apache.commons:commons-text BPC-10453

    Betrifft: BPC Core |

  • Update vaadinWebComponents monorepo BPC-10498

    Betrifft: BPC Core |

  • Update de.virtimo.bpc:nimbusLib BPC-10500

    Betrifft: BPC Core |

  • Update ace-diff BPC-10501

    Betrifft: BPC Core |

  • Update software.amazon.awssdk:s3 BPC-10503

    Betrifft: BPC Core |

Sonstiges

  • HTTP Proxy Verbindung wird schneller geschlossen BPC-10484

    Betrifft: BPC Core |

BPC 5.0.1

Release Datum: 2025-11-24

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | OpenSearch Plugin

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

  • HttpProxy fügt an BaseUrl / an BPC-8832

    Die HTTP Proxy Konfigurationen überprüfen und ggf. anpassen. Bisher wurde an die konfigurierte Verbindungs-URL immer ein '/' angehängt. Dies ist nun nicht mehr der Fall. Falls ihr HTTP Proxy Ziel dies benötigt und die URL derzeit ohne '/' am Ende konfiguriert ist, dann passen Sie dieses bitte an.

    Betrifft: BPC Core |

Neue Funktionen

  • Link Plugins BPC-7024

    Es wurden zwei neue Plugins hinzugefügt, um auf interne oder externe Inhalte zu verlinken. Siehe auch External Link und Internal Link

    Betrifft: BPC Core | Dokumentation |

  • Manueller TailSync Start BPC-7718

    Im Frontend gibt es jetzt die Möglichkeit, für Replikationsjobs einen Tail-Sync manuell zu starten. Darüber hinaus lässt sich ein manueller Tail-Sync auch über die REST-API starten, siehe Replication API.

Verbesserungen

  • Unterstützung von OIDC Login mit aktiviertem PKCE BPC-8198

    BPC unterstützt nun PKCE (Proof Key for Code Exchange) für OpenID-Connect und Keycloak Identity Provider um einen gehärteten Login-Flow zu ermöglichen. Um dies zu aktivieren, müssen Sie an der Identity-Provider Backend-Connection die PKCE-Methode einstellen und dies ggf. in Ihrem Keycloak-Client konfigurieren.

    Betrifft: BPC Core | Dokumentation |

  • Tail Sync Aufrufe protokollieren BPC-9450

    Tail Sync durchläufe können nun protokolliert werden. Bei aktiviertem Logging wird dazu in den Index bpc-tailsync-log geschrieben. Zusätzlich wird der Monitor Tail Sync Log Monitor angelegt. Mehr dazu können Sie unter Replikation nachlesen.

    Betrifft: BPC Core | Dokumentation |

  • Markierung von geänderten Einstellungen BPC-9973

    Die Markierung von Einstellungen, die vom Default abweichende Werte haben, wurde geändert.

    Betrifft: BPC Core |

  • Standardempfänger in Administrator Notification UI BPC-10191

    Beim Formular zum Versenden von Benachrichtigungen ist die Rolle bpcuser als Empfängergruppe vorausgewählt. Ein Absenden einer Benachrichtigung ohne jegliche Empfängergruppe ist nicht mehr möglich.

    Betrifft: BPC Core |

  • Reindizieren hinterlässt keine alten Indices BPC-10192

    Beim Reindizieren wird der alte Index gelöscht, anstatt wie bisher geschlossen. Dem Nutzer wird angeboten, vor dem Reindizieren ein Backup zu erstellen.

    Betrifft: BPC Core | Dokumentation |

  • Bessere Testbarkeit von Comboboxen BPC-10196

    Die Werte der verschiedenen Optionen in Comboboxen werden nun nicht mehr pauschal durch ein &nbsp; ergänzt. Dies erleichtert das automatisierte Testen der Oberflächen.

    Betrifft: BPC Core |

  • Beim Deinstallieren von Bundles kommt es zu Exceptions BPC-10228

    Betrifft: BPC Core |

  • Code löschen, der als Deprecated und Marked for Removal gekennzeichnet ist BPC-10243

    Code, der als deprecated markiert war, wurde aus BPC entfernt.

    Betrifft: BPC Core |

Security

  • mssql-jdbc:12.6.1 | CVE-2025-59250 BPC-10266

    Der über pax-jdbc-mssql bereitgestellt Treiber wird nicht mehr mit ausgeliefert.

    Es ist darauf zu achten, dass der verwendete MSSQL Treiber mindestens folgende Version hat: 10.2.4, 11.2.4, 12.2.1, 12.6.5, 12.8.2, 12.10.2, 13.2.1

    Falls ein älterer Treiber verwendet wird, dann sollte dieser ersetzt werden. Entfernen Sie den alten Treiber durch Entfernen aus dem Deploy-Verzeichnis oder Deinstallieren von pax-jdbc-mssql bzw. des Treibers. Anschließend einen aktuellen Treiber installieren (ohne das Feature pax-jdbc-mssql). Siehe dazu: Datenbanken

    Betrifft: Dokumentation | Karaf |

Bugs

  • Prozessstarter mit Parametern "startWithContext" und "hidden" auf true lädt den falschen Prozess BPC-10261

    Ein Bug wurde behoben, bei dem ein falscher Prozess Starter angezeigt wurde, wenn genau zwei Prozess Starter konfiguriert wurden, wovon einer hidden ist.

    Betrifft: Process Monitoring |

  • HttpProxy fügt an BaseUrl / an BPC-8832

    Die HTTP Proxy Konfigurationen überprüfen und ggf. anpassen. Bisher wurde an die konfigurierte Verbindungs-URL immer ein '/' angehängt. Dies ist nun nicht mehr der Fall. Falls ihr HTTP Proxy Ziel dies benötigt und die URL derzeit ohne '/' am Ende konfiguriert ist, dann passen Sie dieses bitte an.

    Betrifft: BPC Core |

  • Fehler bei der Index Migration BPC-8989

    Tritt bei der Migration eines Index ein Fehler auf, so wird der für die Migration neu angelegte Index wieder entfernt, um Folgefehler zu vermeiden bzw. wieder auf einen stabilen Stand zurückzufallen.

    Betrifft: BPC Core |

  • Opensearch Exception, wenn bpcCheckColumn einen anderen Typ als boolean hat BPC-9662

  • Keycloak Admin Implementierung kann nur mit einer oidcDiscoveryUrl umgehen BPC-9727

    Betrifft: BPC Core | Dokumentation |

  • Prozess Starter mit parametersEndpoint wird im Panel nicht mehr angezeigt BPC-9810

  • UI: bpcModuleInstanceSelector - Modulkonfigurations-Routing fehlerhaft für BackendConnection BPC-9975

    Betrifft: BPC Core |

  • Missverständlicher Button-Text für das Verwerfen von Änderungen BPC-10007

    Buttons, die lokale Änderungen verwerfen, haben jetzt eine bessere Textbeschreibung.

    Betrifft: BPC Core |

  • Validierung des Wertebereichs von Number-Variablen BPC-10117

    Änderungen vom gültigen Wertebereich wirken sich direkt auf die Validierung des Standardwertes aus.

    Betrifft: Data Analysis |

  • Falscher Default Wert in `KARAF/etc/de.virtimo.bpc.core.security.checks.cfg` BPC-10267

    In der Konfigurationsdatei muss der Wert für deleteCheckResultsOlderThan von 10 days auf 10 days ago geändert werden.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Backend Connections können nicht angelegt werden BPC-10301

    Betrifft: BPC Core |

  • Fehler nach Upgrade auf OpenSearch 2.15.0 - StatusConsoleListener - java.lang.RuntimePermission - accessUserInformation BPC-9022

    Betrifft: OpenSearch |

Interne Abhängigkeiten / Dependency Updates

  • Update org.quartz-scheduler:quartz BPC-10230

    Betrifft: BPC Core |

  • Update vaadinWebComponents monorepo BPC-10233

    Betrifft: BPC Core |

  • Update software.amazon.awssdk:s3 BPC-10236

    Betrifft: BPC Core |

  • Update froala-editor BPC-10238

    Betrifft: BPC Core |

BPC 5.0.0

Release Datum: 2025-10-24

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | Karaf | OpenSearch | Java

Update der internen Konfiguration

In dieser Version gab es Änderungen an der internen Konfiguration des BPC. Dies hat Auswirkungen auf Deployments zwischen BPC mit unterschiedlichen Versionen. Außerdem sind zusätzliche Schritte erforderlich, wenn ein Downgrade des BPC durchgeführt wird.

Weitere Informationen finden Sie auf der Seite Versionierung der internen BPC Konfiguration.

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

  • Restriktion des SSH-Zugangs BPC-8253

    Standardmäßig wird ab sofort die Erreichbarkeit des Karafs über SSH-Verbindungen auf den Host localhost eingeschränkt. Um eine Erreichbarkeit über externe Verbindungen zu ermöglichen, nutzen Sie die zentrale Konfigurationsdatei. Siehe Karaf SSH Zugriff.

    Betrifft: Dokumentation | Karaf |

  • OpenSearch-Zugriff nur noch über de.virtimo.bpc.core.opensearch.hosts BPC-9246

    Die Verbindungen zu OpenSearch werden nun ausschließlich über de.virtimo.bpc.core.opensearch.hosts konfiguriert. Bei einem Update von einer älteren Version müssen Sie in der Konfigurationsdatei karaf/etc/de.virtimo.bpc.core.cfg den Eintrag de.virtimo.bpc.core.opensearch.hosts ergänzen. Zusätzlich empfiehlt es sich, die zentrale Konfigurationsdatei mit den Zeilen

    export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=$(($PORT_OFFSET + 9200))
    export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS="https://localhost:$DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT"

    bzw.

    SET /a DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=%PORT_OFFSET% + 9200
    SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS=https://localhost:%DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT%

    zu ergänzen (hier am Beispiel https://localhost:9200). Sie können sich hier an den Dateien aus dem Download-File-Server orientieren.

    Betrifft: BPC Core | Dokumentation |

  • Java JDK 21 BPC-9312

    Der Einsatz von Java 21 ist nun notwendig.

    Betrifft:

  • Anpassung von Metriken BPC-9440

    Diese Metriken wurden umbenannt:

    • bpc_es_bpc_plugin_status_websocket → bpc_os_bpc_plugin_status_websocket

    • bpc_es_bpc_plugin_status_plugin → bpc_os_bpc_plugin_status_plugin

    Betrifft: BPC Core | Dokumentation |

  • Unterstützung für INUBIT Identity Provider entfernt BPC-9482

    INUBIT wird nicht mehr als Identity Provider unterstützt.

    Betrifft: BPC Core | Dokumentation |

  • Aufsplittung der Identity Provider-Konfiguration aus JSON in separate Settings BPC-9515

    Bei den Identity Provider (Backend Connections) wurde bisher einer großer Teil über ein JSON Setting konfiguriert. Dieses wurde in einzelne Settings aufgesplittet. Bestehende Konfigurationen werden automatisch migriert. Kommen ältere Deployment Exporte von Identity Provider Komponenten zum Einsatz, dann sind diese am besten neu zu erstellen.

    Betrifft: BPC Core | Dokumentation |

  • Status-API: status/server/{serverUUID} entfernt BPC-9654

    Der Endpunkt /cxf/bpc-core/status/server/{serverUUID} der Status-API, der den Status eines remote-BPCs abfragte, wurde entfernt.

    Betrifft: BPC Core | Dokumentation |

  • Harmonisierung der Schnittstellen für verschiedene Monitor Funktionen BPC-9770

    Die Query String Parameter gridId, gridExtId, multiRecords, buttonId und der Form Parameter tablePrefix wurden aus den Prozess Aktion Anfragen entfernt. Um zusätzliche Kontext- oder Konfigurationsinformationen mitzusenden, kann "Prozessaktions-Metadaten" in den Monitor-Einstellungen konfiguriert werden.

    In Prozessstartern wurde das mitgesendete XML durch JSON ersetzt. Dadurch wurden portletArchiveName, operation, mandant, gridID, key, bpcModule, bpcModuleInstanceId und custom entfernt. key wurde einheitlich zu id umbenannt. Zusätzliche Kontext- oder Konfigurationsinformationen können durch die "metadata" Konfiguration in der Prozessstarter-Konfiguration in den Monitor-Einstellungen zuverlässig mitgesendet werden. Die Prozessparameter sind gebündelt unter config.parameters im Request Payload zu finden. Fileuploads enthalten filename, type und data. Grids enthalten eine Liste mit ihren Records.

    Bei Change State wurden tablePrefix, mandant und changeStatusBox_<Spaltenname> entfernt. command wurde einheitlich umbenannt zu type und erhält den Wert "statusChange". columnsstring wurde umbenannt zu column. newStatusCombo_<Spaltenname> wurde umbenannt zu newStatus. commentfield wurde umbenannt zu comment. childStatus wird nicht mehr per Default in der Change State Konfiguration auf "Info" gesetzt und wird, falls konfiguriert, nach metadata migriert. Im "metadata" Objekt in der Change State Konfiguration können zusätzliche Informationen übergeben werden.

    Die ungenutzten Einstellungen inubit_aperakEndPoint, inubit_dbGridId und inubit_pmMandant wurden entfernt. Die Einstellungen inubit_actionEndpoint, inubit_changeStateEndpoint und inubit_VpsEndpoint wurden durch actionEndpointProcessor, changeStateEndpointProcessor und vpsEndpointProcessor ersetzt.

  • Eingeschränkte Weiterleitung von Session-Informationen BPC-9925

    HTTP-Proxy Backend-Connections und Flow-Verbindungen filtern jetzt stets den Session-Cookie, damit ein Empfänger nicht im Kontext des Benutzers Aufrufe im BPC tätigen kann. Die Einstellung filterSessionCookie entfällt somit. Stattdessen gibt es mit der neuen Einstellung sendSessionId die Möglichkeit, die Session-ID des Benutzers mitzuschicken, welche am Endpunkt GET /cxf/bpc-core/authentication/session/{sessionid} überprüft werden kann. Bei aktivierter Einstellung injectUserSessionJWT wird nun nicht mehr ein selbst-erstellter JWT mitgeschickt, sondern der signierte ID-Token des OpenID Connect Providers gesendet. Genaueres können Sie in Backend Connections - HTTP-Proxy nachlesen.

    Betrifft: BPC Core | Dokumentation |

  • HTTP-Proxy filtert X-APIKey Header BPC-10011

    Http-Calls über eine Http-Proxy oder Flow Verbindung filtern den BPC Api-Key-Header (X-APIKey) heraus. Achtung: Dies könnte Einfluss auf bestehende BPC Konfigurationen haben, wenn zum Beispiel ein INUBIT-Prozess angestoßen wird, der mit dem mitgesandten API-Key wiederum Aufrufe in der BPC-Api macht. (Hier wäre es besser, einen festen BPC-API-Key im INUBIT-Prozess zu hinterlegen.)

    Betrifft: BPC Core | Dokumentation |

  • Umbenennung von childs zu children im Log Service Payload BPC-8478

    Benutzer der Log Service API müssen in ihren POST-Daten alle Vorkommen von childs durch children ersetzen. Innerhalb einer Übergangszeit kann childs eingehend noch verwendet werden. Diese Rückwärtskompatibilität wird in einem folgenden Release entfernt. Auch ist darauf zu achten, dass in den Rückantworten der Log Service Endpunkte nun children anstatt childs enthalten ist.

    Betrifft: BPC Core |

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es handelt sich um empfohlene Handlungsanweisungen, die bei einem Update angeraten werden.

  • OpenSearch Konfiguration auslagern BPC-9106

    Das OpenSearch-Konfigurationsverzeichnis lässt sich über OPENSEARCH_PATH_CONF konfigurieren. Damit können Sie das Konfigurationsverzeichnis aus dem OpenSearch-Verzeichnis auslagern. Dadurch überschreiben Sie dieses nicht mehr bei einem OpenSearch-Update. Siehe auch OpenSearch-Konfiguration auslagern.

    In der Bundle-Installationsdatei wird BPC jetzt mit einem nach INSTALLATIONSVERZEICHNIS/opensearch_config ausgelagertem Konfigurationsverzeichnis ausgeliefert.

    Es wird empfohlen OPENSEARCH_PATH_CONF in der bpc.env zu setzen.

    Betrifft: Dokumentation | OpenSearch |

Neue Funktionen

  • Aktion für alle Datensätze BPC-1088

    Es wurde ein neuer Aktions-Typ "bulkAction" hinzugefügt, um Aktionen für alle Datensätze ausführen zu können. Siehe Mehrfach-Aktionen

  • Einfach Verknüpfung von Monitor Aktionen mit IGUASU Prozessoren BPC-6260

    Wird IGUASU korrekt über das Flow-Modul angebunden, können verfügbare Prozessoren einfach über die Konfigurations-Oberfläche der Monitor Aktionen ausgewählt werden.

  • Konfigurationsoberfläche für Identity Provider BPC-7069

    Es steht nun eine Konfigurationsoberfläche für Identity Provider zur Verfügung.

    Betrifft: BPC Core |

  • OpenAPI Spezifikation für REST API BPC-8513

    Mit diesem Update ist es erforderlich, den Karaf zu aktualisieren.

    Das BPC stellt OpenApi-konforme Spezifikationsdateien für unsere APIs bereit. Diese befinden sich unter Downloads und können alternativ auch dynamisch über das BPC aufgerufen werden, sofern diese Option aktiviert ist. Mehr Informationen finden Sie im Abschnitt BPC-API.

    Betrifft: BPC Core | Dokumentation | Forms | Karaf |

  • Security Cockpit BPC-8528

    Es wird im Administrationsbereich nun ein Security Cockpit angeboten, dass einen Überblick über die Applikationssicherheit bietet.

    Details siehe Security-Cockpit

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Ansicht von Online-Users BPC-8724

    Ein neuer API-Endpunkt /cxf/bpc-core/collaboration/online-users bietet die Möglichkeit, alle angemeldeten Benutzer aufzurufen. (Siehe Collaboration API). Ein neues Plugin "List Online Users" ermöglicht, im Frontend alle angemeldeten Benutzer anzuzeigen. (Siehe Online User List))

    Betrifft: BPC Core | Dokumentation |

  • Einfacher Chat BPC-8725

    Es wurde ein Chat-Plugin hinzugefügt. Der Chat ist zustandslos, sodass die Nachrichten bei Abmeldung, Neuladen oder Schließen der Seite verloren gehen. Neue Nachrichten erhält man nur, während man angemeldet ist. Siehe auch Chat

    Betrifft: BPC Core | Dokumentation |

  • BPC Deeplinks über LogService BPC-8798

    Man kann sich über die Log Service API direkt in die Log Service Konfiguration oder zu angebundene Monitore weiterleiten zu lassen. Dazu gibt es gibt zwei neue LogService Endpunkte, welche den Benutzer beim Aufruf auf die entsprechenden BPC Seiten weiterleiten:

    Siehe auch API Dokumentation: Log Service API

    Betrifft: BPC Core | Dokumentation |

  • Referenz im Auditlog BPC-8824

    Es ist nun möglich beim Schreiben von Audit-Informationen Referenzen auf externe Ressourcen anzugeben. So kann zum Beispiel auf die IGUASU-Instanz verwiesen werden, die den Eintrag erzeugt hat.

    Betrifft: BPC Core | Dokumentation |

  • SQL-Query anstelle von Tabellennamen als Quelle für Replikation BPC-9063

    Die Replikation unterstützt jetzt alternativ zu bestehenden Datenbank-Tabellen/Views auch die direkte Eingabe einer SQL-Query.

    Siehe auch sourceCommonTableExpressionQuery in Replication

    Betrifft: BPC Core | Dokumentation |

  • JSON Schemas entsprechend der LogService Konfiguration BPC-9072

    Es kann nun über die Log Service API ein JSON Schema angefordert werden, dass den Payload für den Log Service beschreibt. Dies kann genutzt werden, um vorab eine Validierung durchzuführen.

    Betrifft: BPC Core | Dokumentation |

  • Neuer Setting Type zur Auswahl von Modulinstanzen aus mehreren Modulen (Flow & Backend Connections) BPC-9289

    Es wurde ein neues Setting hinzugefügt, mit dem sich die Endpunkte bzw. Prozessoren von Flow & Backend Connections auswählen lassen. Die Auswahl generiert eine BPC URL nach dem Schema bpc://<flow/backendconnection>/<instanceId>/<endpointOrProcessor>. Es gibt jeweils Settings für Prozess Aktionen, Prozess Starter und Change State.

  • Überarbeitung des Benachrichtigungssystems BPC-9463

    Nachrichten können an einzelne Nutzer gesendet werden. Nachrichten können zeitlich beschränkt werden. Nachrichten können ein Thema setzen. Es ist möglich, alle Nachrichten eines einzelnen Themas zu löschen. Der Status, ob eine Nachricht gelesen ist, wird nun im Backend persistiert, anstatt im Localstorage des Browsers hinterlegt zu werden.

    Siehe auch Benachrichtigungen an Anwender und Notification API für Änderungen an der API.

    Betrifft: BPC Core | Dokumentation |

  • Backend-Connection für FileStorage (S3-kompatibel) BPC-9806

    Die Backend-Connections werden um einen 'file_storage'-Typen erweitert, um Verbindungen zu AWS-S3 und S3-kompatiblen Dateispeichern zu konfigurieren.

    Betrifft: BPC Core | Dokumentation |

  • BPC File Storage API BPC-9807

    Es wird eine File-Storage API zur Verfügung gestellt, die das Hochladen, Herunterladen und Verwalten von Dateien ermöglicht. Diese werden auf einem durch eine File-Storage-Backendconnection konfigurierten Dateispeicher abgelegt.

    Betrifft: BPC Core | Dokumentation |

  • BPC UI zum File Storage listing + upload BPC-9808

    Unter Einstellungen→Übersicht→File Storage wird ein UI bereitgestellt, um Dateien des File-Storages anzuzeigen, herunterzuladen und zu löschen. Zusätzlich können Dateien in das File-Storage hochgeladen werden.

    Betrifft: BPC Core | Dokumentation |

  • LogService: File-Storage-Service Integration BPC-9977

    File-Storage-Integration in den Log-Service

    • Neuer Feldtyp file-storage wurde hinzugefügt, um Dateien zu referenzieren.

    • Dateien können an den Log-Service über eine bestehende Referenz oder als Base64-kodierte Datei übergeben werden. Im zweiten Fall wird die Datei vom Log-Service im File-Storage hinterlegt.

    • Für den Upload über eine Base64-kodierte Datei ist eine neue Konfiguration in der Log-Service-Instanz erforderlich (Aktivierung, Connection-ID, Bucket, Lese- und Schreibbeschränkung).

    Weiteres kann in File-Storage im Log-Service nachgelesen werden.

    Betrifft: BPC Core | Dokumentation |

  • Automatischer Redirect nach erfolgreicher Anmeldung BPC-10012

    Im Frontend ist eine Weiterleitung über den Query-Parameter redirectPostAuth an eine BPC-URL nach dem Login-Vorgang möglich. Dies funktioniert für alle OIDC-Identity-Provider.

    Betrifft: BPC Core | Dokumentation |

  • Validierungsergebnisse im `state` BPC-8481

    Ergebnisse aus der Validierung werden nun im state vorgehalten. Dadurch können diese z.B. auch für Bindungs verwendet werden. Siehe auch validate

    Betrifft: Forms |

Verbesserungen

  • IGUASU (Flow) Instanz am Monitor durch "Action Service" BPC-6413

    Es wurde ein neues Setting hinzugefügt, mit dem sich die Endpunkte bzw. Prozessoren von Flow & Backend Connections auswählen lassen. Die Auswahl generiert eine BPC URL nach dem Schema bpc://<flow/backendconnection>/<instanceId>/<endpointOrProcessor>. Es gibt jeweils Settings für Prozess Aktionen, Prozess Starter und Change State. Die URL wird beim POST Request einheitlich immer mit im Payload an den httpProxy Endpunkt des Monitors übergeben. Der Monitor Endpunkt nutzt den Core Action Service, um die Daten weiterzuverarbeiten und gibt letztlich die Response zurück.

  • REST API: Adaptive Authentifizierungsantwort (401 vs. Keycloak Redirect) basierend auf Accept-Header implementieren BPC-7723

    BPC-API-Anfragen, die durch einen Webbrowser stattfinden, leiten bei fehlender Authentifizierung nun auf den Keycloak (oder einen anderen OIDC UserFlowIdentityProvider) um. Nach dem Login findet eine Weiterleitung auf den ursprünglichen API-Endpunkt statt.

    Betrifft: BPC Core |

  • API Keys wie PW behandeln BPC-8194

    API Keys werden jetzt im Frontend, genauso wie Passwörter, maskiert. Beim Auslesen vorhandener API Keys in Einstellungen wird statt dem API Key nun angezeigt.

    Wird ein neuer API Key erstellt, wird dieser einmalig angezeigt.

  • Prometheus Metrik: BPC Status (Gesamtstatus aller BPC Module) BPC-8904

    Betrifft: BPC Core | Dokumentation |

  • OpenSearch Einstellung zum Verschieben von Shards auf andere Nodes bei geringem Plattenplatz BPC-9011

    Unterschreitet der freie Plattenplatz definierte Schwellwerte, so werden Shards auf andere Knoten verteilt. Es kann auch vorkommen, dass Indices auf read-only gesetzt werden, um ein voll laufen der Platte zu vermeiden.

    Der Wert von cluster.routing.allocation.disk.threshold_enabled ist nun true. Dies entspricht dem OpenSearch Standardwert.

    Betrifft: OpenSearch |

  • Replication: Bessere Fehlermeldung bei Timeouts BPC-9064

    Betrifft: BPC Core |

  • OpenSearch Konfiguration auslagern BPC-9106

    Das OpenSearch-Konfigurationsverzeichnis lässt sich über OPENSEARCH_PATH_CONF konfigurieren. Damit können Sie das Konfigurationsverzeichnis aus dem OpenSearch-Verzeichnis auslagern. Dadurch überschreiben Sie dieses nicht mehr bei einem OpenSearch-Update. Siehe auch OpenSearch-Konfiguration auslagern.

    In der Bundle-Installationsdatei wird BPC jetzt mit einem nach INSTALLATIONSVERZEICHNIS/opensearch_config ausgelagertem Konfigurationsverzeichnis ausgeliefert.

    Es wird empfohlen OPENSEARCH_PATH_CONF in der bpc.env zu setzen.

    Betrifft: Dokumentation | OpenSearch |

  • OpenSearch-Zugriff nur noch über de.virtimo.bpc.core.opensearch.hosts BPC-9246

    Die Verbindungen zu OpenSearch werden nun ausschließlich über de.virtimo.bpc.core.opensearch.hosts konfiguriert. Bei einem Update von einer älteren Version müssen Sie in der Konfigurationsdatei karaf/etc/de.virtimo.bpc.core.cfg den Eintrag de.virtimo.bpc.core.opensearch.hosts ergänzen. Zusätzlich empfiehlt es sich, die zentrale Konfigurationsdatei mit den Zeilen

    export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=$(($PORT_OFFSET + 9200))
    export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS="https://localhost:$DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT"

    bzw.

    SET /a DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT=%PORT_OFFSET% + 9200
    SET DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_HOSTS=https://localhost:%DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_OPENSEARCH_PORT%

    zu ergänzen (hier am Beispiel https://localhost:9200). Sie können sich hier an den Dateien aus dem Download-File-Server orientieren.

    Betrifft: BPC Core | Dokumentation |

  • Editor mit SQL Support BPC-9351

    Das Setting Common Table Expression Abfrage in der Replikation kann nun in einem Editor bearbeitet werden, der SQL Syntax unterstützt.

    Betrifft: BPC Core |

  • OpenSearch: Jede Minute werden Warnungen in der Konsole ausgegeben: QueryGroup _id can't be null, It should be set before accessing it. BPC-9404

    Betrifft: OpenSearch |

  • Anpassung von Metriken BPC-9440

    Diese Metriken wurden umbenannt:

    • bpc_es_bpc_plugin_status_websocket → bpc_os_bpc_plugin_status_websocket

    • bpc_es_bpc_plugin_status_plugin → bpc_os_bpc_plugin_status_plugin

    Betrifft: BPC Core | Dokumentation |

  • Erweiterung der Standardrechte für Rolle `bpcuser` BPC-9505

    Das Standardmapping (Mapping von Organisationen, Rollen und Rechten) für Identity Provider wurde so angepasst, dass jeder User (über die Standardrolle bpcuser) das Recht bekommt alle Standard-Module des BPC zu verwendet. Außerdem wird das Recht gegeben die Liste von angemeldeten Benutzern zu sehen.

    Diese Änderung wirkt sich nicht auf bestehende Konfigurationen aus.

    Betrifft: BPC Core |

  • Aufsplittung der Identity Provider-Konfiguration aus JSON in separate Settings BPC-9515

    Bei den Identity Provider (Backend Connections) wurde bisher einer großer Teil über ein JSON Setting konfiguriert. Dieses wurde in einzelne Settings aufgesplittet. Bestehende Konfigurationen werden automatisch migriert. Kommen ältere Deployment Exporte von Identity Provider Komponenten zum Einsatz, dann sind diese am besten neu zu erstellen.

    Betrifft: BPC Core | Dokumentation |

  • Log Service Konfiguration in einzelne Unter-Settings überführen BPC-9598

    Betrifft: BPC Core |

  • Behandlung von Primärschlüsseln in der Log Service UI BPC-9599

    Das Setzen der ID-Spalten in der Logservice-Konfigurationsoberfläche erfolgt jetzt über Comboboxen. Die Konfiguration kann nur noch gespeichert werden, wenn mindestens eine ID-Spalte definiert ist. Zusätzlich wird überprüft, ob alle ID-Spalten in der Feldkonfiguration enthalten sind. Ist dies nicht der Fall, wird das Formular als ungültig markiert und die Speicherung verhindert.

    Betrifft: BPC Core |

  • HTTP-Proxy: Unterstützung von OPTIONS und PATCH BPC-9612

    Die im BPC konfigurierten HTTP-Proxys leiten nun auch OPTIONS- und PATCH-Requests weiter.

    Betrifft: BPC Core | Dokumentation |

  • Überarbeitung von Link-Benachrichtigungen BPC-9624

    Für Benachrichtigungen gibt es nicht mehr den Typen 'link', stattdessen können alle Benachrichtigungen nun Verlinkungen angeben. Dafür wird das Feld linkData verwendet (davor typeSpecificData). Für Verweise auf externe Webseiten wird weiterhin das Feld url verwendet, für BPC-interne Navigationen wird nun die Hash-Komponente der BPC-URL im Feld navigation angegeben. Weiteres lesen sie in Benachrichtigungstypen und unter Notification API nach.

    In der Benachrichtigungsoberfläche (BPC → Konfiguration → Übersicht → Benachrichtigungen) kann nun auch eine Verlinkung konfiguriert werden (siehe Benachrichtigungen an Anwender).

    Betrifft: BPC Core | Dokumentation |

  • Submit verbessern BPC-9636

    Der Submit wurde überarbeitet. Hier sind nun einige Änderungen erforderlich. Siehe Migration von BPC 4.* auf BPC 5.0. Die Struktur und die möglichen Aktionen der Nachrichten wurde angepasst.

    Betrifft: Dokumentation | Forms |

  • Status-API: status/server/{serverUUID} entfernt BPC-9654

    Der Endpunkt /cxf/bpc-core/status/server/{serverUUID} der Status-API, der den Status eines remote-BPCs abfragte, wurde entfernt.

    Betrifft: BPC Core | Dokumentation |

  • Ziel-Prozess kann an Prozessstarter-Plugin konfiguriert werden BPC-9728

    Das Plugin kann nun einen Prozess konfigurieren, der beim Auslösen direkt angezeigt wird. Außerdem kann der Text und Icon nun frei konfiguriert werden. Siehe auch Prozess Starter Plugin

  • Per Default die Gruppierung in den BPC Settings Tabellen aktivieren. BPC-9737

    Die Option für die Gruppierung von Einstellungen ist nun initial aktiviert. Es wird empfohlen diese Ansicht zu verwenden, da die Einstellungen so in einem gemeinsamen Kontext angezeigt werden.

    Betrifft: BPC Core |

  • Namen von Gruppen an Einstellungen BPC-9738

    Es gibt nun mehrsprachige Label an Gruppen von Einstellungen.

  • Log Service Einstellung "Wartungsmodus" umbenannt BPC-9752

    Log Services können nun einzeln (de)aktiviert werden. Der Begriff Wartungsmodus war in diesem Kontext irreführend.

    Betrifft: BPC Core |

  • Harmonisierung der Schnittstellen für verschiedene Monitor Funktionen BPC-9770

    Die Query String Parameter gridId, gridExtId, multiRecords, buttonId und der Form Parameter tablePrefix wurden aus den Prozess Aktion Anfragen entfernt. Um zusätzliche Kontext- oder Konfigurationsinformationen mitzusenden, kann "Prozessaktions-Metadaten" in den Monitor-Einstellungen konfiguriert werden.

    In Prozessstartern wurde das mitgesendete XML durch JSON ersetzt. Dadurch wurden portletArchiveName, operation, mandant, gridID, key, bpcModule, bpcModuleInstanceId und custom entfernt. key wurde einheitlich zu id umbenannt. Zusätzliche Kontext- oder Konfigurationsinformationen können durch die "metadata" Konfiguration in der Prozessstarter-Konfiguration in den Monitor-Einstellungen zuverlässig mitgesendet werden. Die Prozessparameter sind gebündelt unter config.parameters im Request Payload zu finden. Fileuploads enthalten filename, type und data. Grids enthalten eine Liste mit ihren Records.

    Bei Change State wurden tablePrefix, mandant und changeStatusBox_<Spaltenname> entfernt. command wurde einheitlich umbenannt zu type und erhält den Wert "statusChange". columnsstring wurde umbenannt zu column. newStatusCombo_<Spaltenname> wurde umbenannt zu newStatus. commentfield wurde umbenannt zu comment. childStatus wird nicht mehr per Default in der Change State Konfiguration auf "Info" gesetzt und wird, falls konfiguriert, nach metadata migriert. Im "metadata" Objekt in der Change State Konfiguration können zusätzliche Informationen übergeben werden.

    Die ungenutzten Einstellungen inubit_aperakEndPoint, inubit_dbGridId und inubit_pmMandant wurden entfernt. Die Einstellungen inubit_actionEndpoint, inubit_changeStateEndpoint und inubit_VpsEndpoint wurden durch actionEndpointProcessor, changeStateEndpointProcessor und vpsEndpointProcessor ersetzt.

  • Log Service: Settings mit Elasticsearch im Namen umbenennen BPC-9813

    Betrifft: BPC Core |

  • Aufschlussreiche 400 Bad Request-Response, falls JSON-Body nicht serialisiert werden kann BPC-9821

    Ein ungültiger JSON-Payload in einem HTTP-Request-Body wird von API-Endpunkten nun mit dem Fehler 400 Bad Request beantwortet.

    Betrifft: BPC Core |

  • Erweiterung der Metadaten für kompakte Configuration API BPC-9937

    Die modelVersion wird nun auch angezeigt, wenn der Aufrufer keine Adminrechte hat.

    Betrifft: BPC Core |

  • Diverse Verbesserungen am Forms Modul BPC-9946

    Für das Forms Modul ist eine Migration erforderlich zwischen BPC 4.x und BPC 5. Informationen dazu sind hier zu finden.

    Betrifft: Dokumentation | Forms |

  • Boolsche Werte in Einstellungs-Tabelle besser darstellen und setzen BPC-9968

    Bei booleschen Werten in den Einstellungstabellen wird nun keine Combobox mehr angezeigt, sondern nur noch die Checkbox mit dem Wahrheitswert. Der Wert lässt sich per Klick, Leertaste oder Enter ändern.

    Betrifft: BPC Core |

  • Design Update BPC-9974

    Das Aussehen vom BPC wurde aktualisiert.

  • ServiceNotFoundException bei Auswahl einer Backend Connection für Prozess Starter BPC-9995

    Betrifft: BPC Core |

  • Klassen für Menu-Buttons für geringeren Pfeil-Abstand BPC-10060

    An Buttons können nun die Klassen arrow-spacing-sm (small) und arrow-spacing-xs (extra small) genutzt werden, um den Abstand des Pfeils zu reduzieren.

    Betrifft:

  • Backend Bundles sollten keine feature.xml enthalten BPC-10115

    Für BPC Modul Entwickler:

    Wenn in den Modul-Sourcen eine feature/feature.xml verwendet wird, dann bitte in der pom.xml den folgenden resource-Block entfernen:

    <resources>
    ...
        <resource>
            <directory>src/main/feature</directory>
            <filtering>true</filtering>
            <targetPath>${project.build.directory}/feature</targetPath>
        </resource>
    </resources>

    Durch diesen Eintrag wurde die feature.xml als Ressource festgelegt und mit in die JAR-Datei eingebettet. Das ist nicht notwendig.

    Allerdings muss trotzdem noch das maven-resources-plugin verwendet werden um Platzhalter in der feature.xml zu ersetzen.

    Dazu folgendes Plugin-Aufruf hinzufügen:

    <plugins>
        <!-- Replace the placeholders in the feature.xml file -->
        <!-- Documentation : https://maven.apache.org/plugins/maven-resources-plugin/ -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>${maven-resources-plugin.version}</version>
            <executions>
                <execution>
                    <id>copy-feature-file</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/feature</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/feature</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        ...
    </plugins>
  • Tool zur Migration von Indices für OpenSearch 3.2 (BPC 5.0.0) BPC-10120

    Für die Migration von Installationen, die bereits Elasticsearch im Einsatz hatten, kann es bei der Umstellung auf OpenSearch 3 nötig sein einen zusätzlichen Migrationsschritt durchzuführen. Dafür wird ein entsprechendes Tool bereitgestellt. Für weitere Details siehe Migration von BPC 4.* auf BPC 5.0

    Betrifft: OpenSearch |

  • BPC Log Index CleanUp: Nach Start des Karaf läuft die erste Säuberung erst nach 60 Minuten. BPC-10168

    Index Cleanups werden nach dem Start von BPC nach 60 Sekunden durchgeführt, und laufen dann im konfigurierten Intervall.

    Betrifft: BPC Core |

  • 0 Label für CustomRenderer im Monitor BPC-10170

    Es ist nun möglich in der valueMap eines Custom Renderers den Wert 0 zu verwenden und diesen auch als Label im Monitor zu sehen. Zuvor wurden 0 Werte nicht angezeigt.

    Betrifft: Process Monitoring |

  • Notification Icon als Plugin platzierbar BPC-8064

    Das Symbol für den Zugang zu Notifications und Anzeige der Anzahl ungelesener Notifications ist nun ein Plugin. Daher kann dieses nun wie andere Plugins auch an verschiedenen Stellen in der Oberfläche platziert werden.

    Betrifft: BPC Core | Dokumentation |

  • Benachrichtigung nur an eingeloggte Nutzer BPC-8097

    Bei Benachrichtigungen gibt es nun zusätzlich die Option, die Nachricht nur an eingeloggte Benutzer zu senden. Die Filter nach Rollen und Organisationen sind dabei weiterhin aktiv. Siehe auch Benachrichtigungen. Bei Benachrichtigungen mit Empfängergruppe Benutzer werden die Empfänger nicht mehr angezeigt.

    Betrifft: BPC Core | Dokumentation |

  • Umbenennung von childs zu children im Log Service Payload BPC-8478

    Benutzer der Log Service API müssen in ihren POST-Daten alle Vorkommen von childs durch children ersetzen. Innerhalb einer Übergangszeit kann childs eingehend noch verwendet werden. Diese Rückwärtskompatibilität wird in einem folgenden Release entfernt. Auch ist darauf zu achten, dass in den Rückantworten der Log Service Endpunkte nun children anstatt childs enthalten ist.

    Betrifft: BPC Core |

  • Einstellung identityProvider_ussUrl entfernt BPC-9046

    Die ungenutzte Einstellung identityProvider_ussUrl wurde entfernt.

    Betrifft: BPC Core | Dokumentation |

  • LogService - Validierung gegen JSON Schema BPC-9071

    An jeder Log Service Komponente kann eine JSON Schema Validierung, der zu schreibenden Daten, aktiviert werden. Voreinstellung ist 'Aus'. Das JSON Schema wird anhand der konfigurierten Keys und Fields automatisch generiert und kann bei Bedarf über den Log Service Endpunkt abgerufen werden.

    Betrifft: BPC Core | Dokumentation |

  • Event Erstellung von der veralteten Dictionary auf Map umstellen BPC-9483

    Beim Event Handling sollte Map anstelle von Dictionary verwendet werden.

    Betrifft: BPC Core |

Security

  • Bei den Modul- und Lizenz-Uploads keine Dateinamen mit Pfadangaben annehmen BPC-9362

    Jegliche Pfadangaben werden ignoriert, um Path-Traversal-Angriffe zu vermeiden.

    Betrifft: BPC Core |

  • Restriktion des SSH-Zugangs BPC-8253

    Standardmäßig wird ab sofort die Erreichbarkeit des Karafs über SSH-Verbindungen auf den Host localhost eingeschränkt. Um eine Erreichbarkeit über externe Verbindungen zu ermöglichen, nutzen Sie die zentrale Konfigurationsdatei. Siehe Karaf SSH Zugriff.

    Betrifft: Dokumentation | Karaf |

  • Session-Cookie-Inhalt aus Logdatei filtern BPC-9533

    Die Logging-Konfiguration wurde geändert, sodass Session-Tokens maskiert werden. Für neue Installationen des Karafs passiert das automatisch. Bei bestehenden Installationen passen Sie bitte die Konfigurationsdatei [KARAF]/etc/org.ops4j.pax.logging.cfg an. Ersetzen sie hier die alte Zeile

    log4j2.maskpasswords.pattern = %replace{${log4j2.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}{******}

    mit den Zeilen

    # Chained replacement patterns to mask sensitive information
    # Filter out UUIDs as these are used as session cookies (keycloak+oidc)
    log4j2.maskuuids.pattern = %replace{${log4j2.pattern}}{(?i)([a-f0-9]{4})[a-f0-9]{4}(-[a-f0-9]{4}){3}-[a-f0-9]{8}(([a-f0-9]{4}))(?-i)}{$1****-****-****-****-********$3}
    # Filter out JWT Tokens that might contain session ids
    log4j2.maskjwt.pattern = %replace{${log4j2.maskuuids.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.[\\w-]+}{***(JWT)***}
    log4j2.maskunsecuredjwt.pattern = %replace{${log4j2.maskjwt.pattern}}{ey[\\w-]+\\.ey[\\w-]+\\.}{***(JWT)***}
    # Filter out 256bit (64 hex digits) UUIDs used for karaf session cookies and API keys
    log4j2.maskkarafsessioncookie.pattern = %replace{${log4j2.maskunsecuredjwt.pattern}}{[0-9a-fA-F]{64}}{******}
    # Filter out passwords
    log4j2.maskpasswords.pattern = %replace{${log4j2.maskkarafsessioncookie.pattern}}{(password=[^\\s,]+)|("password"\\s*:\\s*"\\w+")}{******}

    Da bei Keycloak und OIDC die Session-Tokens UUIDs sind, die auch an anderen Stellen genutzt werden, loggen wir hier die ersten und letzten vier Zeichen.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Eingeschränkte Weiterleitung von Session-Informationen BPC-9925

    HTTP-Proxy Backend-Connections und Flow-Verbindungen filtern jetzt stets den Session-Cookie, damit ein Empfänger nicht im Kontext des Benutzers Aufrufe im BPC tätigen kann. Die Einstellung filterSessionCookie entfällt somit. Stattdessen gibt es mit der neuen Einstellung sendSessionId die Möglichkeit, die Session-ID des Benutzers mitzuschicken, welche am Endpunkt GET /cxf/bpc-core/authentication/session/{sessionid} überprüft werden kann. Bei aktivierter Einstellung injectUserSessionJWT wird nun nicht mehr ein selbst-erstellter JWT mitgeschickt, sondern der signierte ID-Token des OpenID Connect Providers gesendet. Genaueres können Sie in Backend Connections - HTTP-Proxy nachlesen.

    Betrifft: BPC Core | Dokumentation |

  • HTTP-Proxy filtert X-APIKey Header BPC-10011

    Http-Calls über eine Http-Proxy oder Flow Verbindung filtern den BPC Api-Key-Header (X-APIKey) heraus. Achtung: Dies könnte Einfluss auf bestehende BPC Konfigurationen haben, wenn zum Beispiel ein INUBIT-Prozess angestoßen wird, der mit dem mitgesandten API-Key wiederum Aufrufe in der BPC-Api macht. (Hier wäre es besser, einen festen BPC-API-Key im INUBIT-Prozess zu hinterlegen.)

    Betrifft: BPC Core | Dokumentation |

  • Default für filterSessionCookie auf true BPC-9926

    Für neue Backend Connections des Typs HTTP-Proxy und Flow ist die Option BPC Session filtern standardmäßig aktiviert.

    Betrifft: BPC Core | Dokumentation |

  • Strikte Konfiguration von jdk.tls.disabledAlgorithms in custom.java.security BPC-10167

    Wenn Sie die Datei custom.java.security nutzen, dann sollten Sie das Property jdk.tls.disabledAlgorithms anpassen, um die TLS Konfiguration strikter und damit sicherer zu gestalten.

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DTLSv1.0, RC4, DES, \
        MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
        ECDH, TLS_RSA_*, rsa_pkcs1_sha1 usage HandshakeSignature, \
        ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature, \
        TLSv1.2, X448, secp521r1, SHA1

    Betrifft: Dokumentation |

Bugs

  • Sprung von Setting in Auditlog filtert nicht korrekt BPC-10341

Dokumentation

Interne Abhängigkeiten / Dependency Updates

  • Update org.mariadb.jdbc:mariadb-java-client BPC-8738

    Betrifft: BPC Core |

  • Java JDK 21 BPC-9312

    Der Einsatz von Java 21 ist nun notwendig.

    Betrifft:

  • Update vaadinWebComponents monorepo BPC-9558

    Betrifft: BPC Core |

  • Update OpenSearch to 3.2 BPC-9609

    Falls das BPC initial mit einer OpenSearch anstatt einer Elasticsearch Version installiert wurde, dann kann das [bpc]/opensearch_data Verzeichnis direkt übernommen werden.

    Fall nicht, dann müssen zuerst Indices migriert werden.

  • Update de.virtimo.bpc:nimbusLib BPC-9764

    Betrifft: BPC Core |

  • Update CXF BPC-9852

    Betrifft: BPC Core | Karaf |

  • Update software.amazon.awssdk:s3 BPC-9897

    Betrifft: BPC Core |

  • Update Karaf BPC-9960

    Mit diesem Update wird die Karaf-Version auf 4.4.8 aktualisiert. Es ist erforderlich, die Module bpc-be-core, bpc-be-analysis, bpc-be-forms und bpc-be-monitor zu aktualisieren.

    Für BPC Modul-Entwickler

    Mit dem aktualisierten Karaf liefern wir CXF 3.6.8 statt 3.6.7 aus, welches Jackson in der Version 2.19.2 bereitstellt.

    Bitte aktualisieren Sie die CXF-Version (3.6.8) und Jackson-Version (2.19.2) in Ihrer pom.xml. Prüfen Sie dazu, ob Sie eine Import-Package-Anweisung für diese Version haben. Diese muss hinzugefügt oder angepasst werden, wenn Sie Jackson-Funktionen wie die Klasse ObjectMapper verwenden.

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.17.2,3.0.0)",
    ...
    </Import-Package>
  • Update com.networknt:json-schema-validator BPC-10032

    Betrifft: BPC Core |

  • Update dompurify BPC-10086

    Betrifft: BPC Core | Forms |

  • Update graaljs.version BPC-10206

    Betrifft: Data Analysis |

  • Update ace-builds BPC-10213

    Betrifft: BPC Core |

  • Update ExtJS BPC-9567

    Der Core wird nun nicht mehr in alte ECMAScript transpiliert und es werden keine Polyfills mehr hinzugefügt. Damit wird eine Unterstützung neuerer Sprachfeatures ermöglicht. Dies bedeutet, dass auch ExtJS-Packages in ihrer packages/local/PACKAGENAME/package.json folgenden Inhalt haben sollten:

    {
      "...",
      "compressor": {
        "polyfills": "none"
      },
      "language": {
        "js": {
          "output": "ANY"
        }
      }
    }

Sonstiges

  • Unterstützung für INUBIT Identity Provider entfernt BPC-9482

    INUBIT wird nicht mehr als Identity Provider unterstützt.

    Betrifft: BPC Core | Dokumentation |

  • OpenAPI Spezifikation für Monitor Backend Services (Monitor Aktion, Prozess Starter, Change State, …​) BPC-9553

  • Forms Renderer als separate Komponente BPC-9709

    Der Renderer des Forms-Moduls ist nun nicht mehr in bpc-fe-forms enthalten, sondern wird separat als bpc-forms-renderer bereitgestellt. Dadurch ist es nun möglich, den Renderer unabhängig zu aktualisieren. Bei einem BPC Update wird die URL des Renderers am Forms Module automatisch auf bpc-forms-renderer/index.html geändert.

    Der Renderer steht über Downloads zur Verfügung.

    Betrifft: BPC Core | Dokumentation | Forms | Karaf |

  • Element-Typ taskPanel und Monitor Settings function_interactionColumn und function_interactionFormId entfernen BPC-9961

    Der Detailansichten Element-Typ "taskPanel" wurde zusammen mit den zugehörigen Einstellungen function_interactionColumn und function_interactionFormId entfernt.

  • LogService Rückwärtskompatibilität BPC-10171

    Für eine Übergangsphase wird noch die Verwendung von childs anstelle von children erlaubt. Dies betrifft nicht die Datenstruktur beim Auslesen von Daten.

    Betrifft: BPC Core | Dokumentation |