Administrations-Changelog

Diese Seite zeigt Änderungen, die in den Releases der einzelnen Versionen enthalten sind und explizit für Administratoren relevant sind. Als Administrator werden Personen angesehen, die Updates am BPC durchführen und administrative Konfiguration im BPC durchführen.

Für die Auflistung aller Änderungen siehe Changelog.

BPC 4.1.27

Release Datum: 2025-11-17

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

Verbesserungen

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

    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

  • Going to use the local/Karaf IDP as fallback not working BPC-9837

    Wenn der konfigurierte Identity Provider nicht erreichbar ist, wird nicht mehr fälschlicherweise geloggt, dass der lokale Karaf Identity Provider als Fallback ausgewählt ist. Stattdessen wird darauf hingewiesen, dass dieser als Fallback aktiviert werden könnte.

    Betrifft: BPC Core | Dokumentation |

  • Keycloak: Geänderte "GET /groups" API Request ab Version 26+ BPC-10149

    Das Abrufen von Untergruppen wurde angepasst, um Änderungen in der Keycloak API gerecht zu werden.

    Betrifft: BPC Core |

  • bpc.env.sh DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN greift nicht BPC-10169

    In der zentralen Konfigurationsdatei (bpc.env.sh) wurde ein Fehler in der auskommentierten Option DE_VIRTIMO_BPC_DECANTER_APPENDER_OPENSEARCH_DELETEENTRIESOLDERTHAN behoben. Zuvor hatte das aktivieren nicht geklappt, weil der Wert in Anführungszeichen stehen muss. Die Variante von Windows war nicht betroffen.

    Betrifft:

  • Replikation erkennt fälschlicherweise eine Endlosschleife BPC-10181

    Betrifft: BPC Core |

  • Replikation erkennt fälschlicherweise eine Endlessloop (MSSQL) BPC-10229

    Betrifft: BPC Core |

Interne Abhängigkeiten / Dependency Updates

  • 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 java BPC-10235

    Betrifft:

BPC 4.1.26

Release Datum: 2025-10-13

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

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.

  • 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 |

Verbesserungen

  • 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 |

Security

  • 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 |

Bugs

  • Replikation in Endlosschleife BPC-10121

    Es konnte vorkommen, dass die Replikation in einem bestimmten Zeitfenster feststeckte, wenn dieses an die Gegenwart angrenzt und keine Datensätze gefunden wurden.

    Betrifft: BPC Core |

  • JavaScript Modifikatoren können nicht ausgeführt werden BPC-9993

    Bei bestehenden Karaf-Installationen folgenden Wert in die KARAF/etc/custom.properties aufnehmen:

    # the base value is from config.properties and has been extended
    # by the packages 'jdk.internal.access' and 'jdk.internal.module'
    org.osgi.framework.bootdelegation = \
        com.sun.*, \
        javax.transaction, \
        javax.transaction.xa, \
        javax.xml.crypto, \
        javax.xml.crypto.*, \
        javax.security.cert, \
        jdk.nashorn.*, \
        sun.*, \
        jdk.internal.reflect, \
        jdk.internal.reflect.*, \
        org.apache.karaf.jaas.boot, \
        org.apache.karaf.jaas.boot.principal, \
        jdk.internal.access, \
        jdk.internal.module

    Betrifft: Data Analysis | Karaf |

BPC 4.1.25

Release Datum: 2025-08-21

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

Verbesserungen

  • 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 |

  • Statuswechsel: Automatische Vorauswahl des Ziel-Status BPC-9816

    Für den Prozessstatuswechsel kann nun die Vorauswahl eines Wertes konfiguriert werden. Die Vorauswahl wird anhand der Konfiguration preselectState in der Einstellung function_changeStateConfig gesteuert.

    "preselectState": "_first": Wählt immer den ersten verfügbaren Wert aus dem Dropdown aus. "preselectState": "<Suchwert>": Wählt den ersten Eintrag aus, der den angegebenen Text enthält (Groß-/Kleinschreibung beachten). Es können sowohl Rohwerte als auch Anzeigenamen (aus Custom Renderer) verwendet werden.

    Wenn genau ein Prozess geladen ist und es genau zwei Werte zur Auswahl gibt, wählt das Status-Feld automatisch den Status, der nicht dem aktuellen Status entspricht.

    Beispielkonfiguration
    [
        {
            "dataIndex": "STATUS",
            "useDistinctValues": true,
            "preselectState": "Offen"
        },
        {
            "dataIndex": "VALID",
            "useDistinctValues": true,
            "preselectState": "no"
        },
        {
            "dataIndex": "STATUS2",
            "useRendererValues": true,
            "useDistinctValues": false,
            "preselectState": "_first"
        }
    ]

    Betrifft: Process Monitoring |

Bugs

  • Replikation stoppt bei Lücken > blockDayRange BPC-9606

    Betrifft: BPC Core |

  • Datenmodifikator-Editor speichert nicht immer aktuellsten Stand beim Speichern BPC-9613

    Betrifft: BPC Core |

  • Maintenance Modus lässt sich über UI aktivieren aber nicht wieder deaktivieren. Error: "Not allowed to set local server properties" BPC-9799

    Wenn das BPC im Cluster betrieben wird, konnte unter Umständen der Wartungsmodus über die GUI nicht deaktiviert werden.

    Betrifft: BPC Core |

BPC 4.1.24

Release Datum: 2025-06-02

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

Security

  • 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 |

Bugs

  • PDF kann im Prozessmonitor nicht über INUBIT zum Download und für den Fileviewer angeboten werden BPC-9105

    Wenn Binärdateien über INUBIT oder einem anderen Backendsystem geladen wurden, dann konnte es dazu kommen, dass die Dateien beim Download oder der Betrachtung beschädigt waren.

    Betrifft: Process Monitoring |

Interne Abhängigkeiten / Dependency Updates

  • Update java BPC-9564

    Betrifft:

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

    Betrifft:

BPC 4.1.23

Release Datum: 2025-04-08

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

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.

  • Einschränkung der Sichtbarkeit des Zahnrad-Icons zur Widget-Konfiguration im Dashboard BPC-9087

    Dashboard Widgets zeigen das Konfigurations-Icon nur noch an, wenn der Nutzer das Dashboard bearbeiten darf. Dafür benötigt er das Recht bpcDashboard_editDashboard. Nutzer ohne diese Berechtigung können keine Dashboard-Widgets mehr bearbeiten. Falls Bearbeitungsmöglichkeiten (z. B. bei Custom Widgets) weiterhin angeboten werden sollen, muss entweder die entsprechende Berechtigung vergeben oder die Konfiguration über alternative Wege (z. B. über den Widget-Header) bereitgestellt werden.

    Betrifft: Process Dashboard |

Verbesserungen

  • Im Monitor-Export werden CustomRenderer und der `translate`-Formatter angewendet BPC-9100

    Betrifft: Process Monitoring |

  • Berücksichtigung aller Renderer in Filter-Auswahlliste BPC-8112

    Betrifft: Process Monitoring |

  • Anzahl der selektierten Zeilen bei Statusänderungen anzeigen BPC-8673

    Betrifft: Process Monitoring |

  • Anzeige der Anzahl selektierter Prozesse/Zeilen BPC-8722

    Im Setting moduleHeaderContent kann durch den Parameter showSelectionCounter in dem Metablock gesteuert werden, ob die Anzahl der selektierten Datensätze angezeigt wird.

    [
        {
          "id": "metadata",
          "config": {
            "showFilter": false,
            "showSorter": false,
            "showSelectionCounter" : true
            }
        }
    ]
  • Einschränkung der Sichtbarkeit des Zahnrad-Icons zur Widget-Konfiguration im Dashboard BPC-9087

    Dashboard Widgets zeigen das Konfigurations-Icon nur noch an, wenn der Nutzer das Dashboard bearbeiten darf. Dafür benötigt er das Recht bpcDashboard_editDashboard. Nutzer ohne diese Berechtigung können keine Dashboard-Widgets mehr bearbeiten. Falls Bearbeitungsmöglichkeiten (z. B. bei Custom Widgets) weiterhin angeboten werden sollen, muss entweder die entsprechende Berechtigung vergeben oder die Konfiguration über alternative Wege (z. B. über den Widget-Header) bereitgestellt werden.

    Betrifft: Process Dashboard |

  • BPC Start-Skript sollte nicht jeweils 30 Sekunden warten (nach OpenSearch Start und nach Karaf Start) BPC-9332

    Das Start-Skript wartet nun nicht mehr 30 Sekunden nach dem Start von OpenSearch und Karaf. Sollte es zu Problemen kommen, bei denen OpenSearch nicht rechtzeitig verfügbar ist, sollte der Watchdog verwendet werden.

    Betrifft:

  • BPC Start-Skript von Setup-Funktionen trennen BPC-9372

    Das Start-Skript nimmt keine Veränderungen an der Umgebung mehr vor. Verzeichnisse müssen entsprechend der Installationsanleitungen konfiguriert sein und JAVA_HOME muss ebenfalls korrekt konfiguriert sein.

    Betrifft:

Bugs

  • ProzessStarter: "windowWidth" und "windowHeight" wirken sich nicht auf Fenster aus BPC-9042

    Die ProzessStarter Konfiguration für windowWidth und windowHeight wirkt sich nun korrekt auf das Fenster aus.

    Betrifft: Process Monitoring |

  • Ungültige Operatoren für numerische Spaltenfilter BPC-9082

    Die Auswahl eines Operators für "number" Filter wurde auf die Operator-Liste eingeschränkt. Als Standard-Operator ist "=" definiert und zusätzlich kann der Standard-Operator in der Filterkonfiguration in der Spaltenkonfiguration verändert werden. Siehe auch Konfiguration der Monitor-Spalten

  • Recht bpcMonitor_editMonitorViews lässt sich nicht auf einzelne Modul-IDs einschränken BPC-9329

    Das Recht bpcMonitor_editMonitorViews kann für spezifische Instanzen gesetzt werden, um Ansichten in bestimmten Monitoren anzulegen und zu ändern, indem die Modul ID hinten angefügt wird.

  • Änderung in karaf/etc/de.virtimo.bpc.core.cfg werden zur Laufzeit nicht umgesetzt BPC-9413

    Betrifft: BPC Core |

Dokumentation

BPC 4.1.22

Release Datum: 2025-03-10

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

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

Neue Funktionen

Verbesserungen

  • Optimierte Nutzung von OpenSearch zur Vermeidung von irreführenden Warnungen BPC-9175

    Im OpenSearch Log sind viele Logs wie "QueryGroup _id can’t be null, It should be set before accessing it." zu finden. Dies ist ein bekannter Bug von OpenSearch der mit der Version 2.18.0 eingeführt wurde. Wir haben die Ausgabe, soweit wir es von unserer Seite aus konnten, reduziert.

    Betrifft: BPC Core |

  • Default Charts im Analyse Modul kompatibel für das Dark Theme gestalten BPC-9293

    Um bestehende Charts unter Verwendung eines Dark-Themes ohne weißen Hintergrund anzuzeigen, sollte die Hintergrundfarbe der Charts unter Chart-Konfiguration → Einstellungen → Hintergrundfarbe auf vollständige Transparenz gesetzt werden (RGBA-Alpha-Wert auf 0).

    Betrifft: Data Analysis |

Bugs

  • Es werden keine OpenSearch Backups ausgeführt BPC-9334

    Snapshots, deren Namen nicht dem aktuellen Namensschema entsprechen, haben die Ausführung der Backups blockiert.

    Betrifft: BPC Core |

  • HTTP Proxy setzt ungültige Header bei Verwendung von HTTP/2 BPC-9337

    Wenn der HTTP-Proxy eine HTTP/2 Verbindung genutzt hat, wurde der Pseudo-Header ":status" an den Client weitergereicht. Dies führt bei strenger Auslegung zu einem Fehler. So hat nginx in dem Fall z.B. einen 502 Bad Gateway Fehler an den Client gemeldet.

    Betrifft:

  • Deployment Fehler BPC-9221

    Wurde von einem BPC, mit existierenden Monitor Ansichten, ein Deployment auf ein BPC durchgeführt, dass noch keine Ansichten hatte, kam es zu einem Fehler.

    Dieser Fehler wurde behoben.

    Betrifft: BPC Core |

  • Instanzspezifisches Recht zum Editieren von HTML Content BPC-9365

    Es wurde ein Bug gefixt, durch den keine instanzspezifischen HTML Content Editierrechte durch die Rolle htmlcontent_editor_<MODUL-ID> vergeben werden konnten.

    Betrifft: BPC Core |

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.21

Release Datum: 2025-02-10

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

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

  • Aktualisierung der TLS Härtung BPC-9256

    Für die Härtung der TLS Einstellungen wurden Properties in der custom.java.security gesetzt.

    Wenn Sie noch keine custom.java.security Datei über Zentrale Konfigurationsdatei nutzen, dann sollten Sie dies nachholen.

    Bestehende custom.java.security Dateien sollten um folgenden Eintrag ergänzt werden:

    jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurves

    Betrifft:

  • Custom Java Security Einstellungen via bpc.env für OpenSearch BPC-9259

    Die bpc.env Dateien setzen nun auch für OpenSearch die security.properties aus der Datei custom.java.security. Dadurch wirken sich Anpassungen in der Datei auf Karaf und OpenSearch gemeinsam aus.

    Beim Einsatz einer bpc.env wird empfohlen diese zu aktualisieren. Falls noch nicht vorhanden, sollte die Datei custom.java.security hinzugefügt werden. Dafür muss folgendes ergänzt werden.

    bpc.env.sh
    export OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"
    bpc.env.cmd
    SET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\custom.java.security

    Betrifft: Dokumentation |

Verbesserungen

  • Statische Settings BPC-8614

    Über die BPC Lizenz können nun Settings vor Änderung geschützt werden. Dies wird vor allem bei unseren Cloud-Installationen (K8s) zum Einsatz kommen. Dort legen wir zum Beispiel über die Core-Einstellung 'backupRepository' die Konfiguration der OpenSearch Backups in einem Amazaon S3 Bucket fest und das soll nicht durch das BPC Frontend änderbar sein.

    Dazu kann bei Erstellung der Lizenz das XML um das Listen-Element NON_WRITEABLE_SETTINGS mit den IDs der nicht-editierbaren Settings erweitert werden.

    Auszug einer Beispiel-Lizenz:

    <?xml version="1.0" encoding="UTF-8" ?>
    <license>
        <bpc>
            <licenseKeys>
            ...
            </licenseKeys>
            <licenseMaps>
            ...
            </licenseMaps>
            <licenseLists>
                <NON_WRITEABLE_SETTINGS>
                    <_core_noinstance_backupRepository/>
                    <_core_noinstance_identityProviderBackendConnection/>
                </NON_WRITEABLE_SETTINGS>
            </licenseLists>
        </bpc>
    </license>

    Die Settings (Beispiel: _core_noinstance_backupRepository) sind die selben wie sie im OpenSearch Index 'bpc-configuration' verwendet werden.

    Der Aufbau ist wie folgend: <ModuleId>_<InstancId>_<SettingName>

    Wenn es sich um ein Setting eines Moduls und keiner Instanz/Komponente handelt, dann ist bei der <InstanceId> der Wert noinstance zu verwenden. An den <SettingName> kommt man, wenn man sich im BPC Frontend beim Einstellungen-Grid die Spalte "ID" anzeigen lässt.

    Beispiel: _core_noinstance_backupRepository

    • <ModuleId> = _core

    • <InstanceId> = noinstance

    • <SettingName> = backupRepository

    Betrifft: BPC Core |

  • Anzahl der Shards von neu anzulegenden OpenSearch Indices reduzieren BPC-9049

    Wir haben bei der Einstellung Core_IndexTemplates die Anzahl der Shards auf 1 verringert. Dies ist auch die Voreinstellung, welche von Elasticsearch/OpenSearch seit ein paar Jahren für neue Indices verwendet wird. Dies betrifft nur neu angelegte Indices. Bereits angelegte Indices sind davon nicht betroffen.

    Betrifft: BPC Core |

  • Reduktion der Zugriffe auf die OpenSearch Backup-API BPC-9189

    Durch die Optimierung der Zugriffe auf die OpenSearch Backup-API werden weniger Zugriffe auf den Datenspeicher durchgeführt. Dies reduziert z.B. beim Einsatz von Amazon S3 die entsprechenden Kosten.

    Betrifft: BPC Core | OpenSearch |

  • JSON Daten sollen nicht automatisch sortiert werden BPC-9227

    Beim Speichern von JSON Settings wurden Attribute innerhalb von Objekten automatisch sortiert. Dieses Verhalten wurde abgestellt. So ist es möglich die Reihenfolge nach eigenen Kriterien zu gestalten.

    Betrifft: BPC Core |

  • Custom Java Security Einstellungen via bpc.env für OpenSearch BPC-9259

    Die bpc.env Dateien setzen nun auch für OpenSearch die security.properties aus der Datei custom.java.security. Dadurch wirken sich Anpassungen in der Datei auf Karaf und OpenSearch gemeinsam aus.

    Beim Einsatz einer bpc.env wird empfohlen diese zu aktualisieren. Falls noch nicht vorhanden, sollte die Datei custom.java.security hinzugefügt werden. Dafür muss folgendes ergänzt werden.

    bpc.env.sh
    export OPENSEARCH_JAVA_OPTS="$OPENSEARCH_JAVA_OPTS -Djava.security.properties=../custom.java.security"
    bpc.env.cmd
    SET OPENSEARCH_JAVA_OPTS=%OPENSEARCH_JAVA_OPTS% -Djava.security.properties=..\custom.java.security

    Betrifft: Dokumentation |

  • The BPC license filename should allow an additional .virtimo file extension for joining BPC & inubit licenses. BPC-7813

    Der Dateiname der Lizenz darf nun auch license.xml.virtimo sein. Zuvor musste er license.xml.bpc sein. So ist es möglich eine Lizenz zu nutzen, die auch gleichzeitig eine gültige INUBIT Lizenzdatei ist.

    Betrifft: BPC Core |

  • Generierung des Config-JSON für das BPC Frontend beschleunigen BPC-9263

    Das Laden der BPC-Konfiguration im Client wird durch die Änderung beschleunigt.

Security

  • Aktualisierung der TLS Härtung BPC-9256

    Für die Härtung der TLS Einstellungen wurden Properties in der custom.java.security gesetzt.

    Wenn Sie noch keine custom.java.security Datei über Zentrale Konfigurationsdatei nutzen, dann sollten Sie dies nachholen.

    Bestehende custom.java.security Dateien sollten um folgenden Eintrag ergänzt werden:

    jdk.tls.disabledAlgorithms=X448, secp521r1, SHA1, include jdk.disabled.namedCurves

    Betrifft:

Bugs

  • Data_Filter: Keine Platzhalter-Ersetzung bei roles und Verwendung von "#" BPC-9110

    Der Platzhalter #user.loginName# wird im Data_Filter nun korrekt ersetzt, wenn der dynamische Filter # verwendet wird.

    Betrifft: Process Monitoring |

  • Umgang mit mehreren Session Cookies BPC-9164

    Sendet der Client mehrere Session Cookies, weil auf dem Server evtl. mehrere BPC installiert sind, dann wird nun der passende Session Cookie berücksichtigt.

    Betrifft: BPC Core |

  • Detail View Update Problem BPC-9252

    In Fällen mit häufigen Änderungen an den Daten, konnte es im Monitor zu Fehlern bei der Anzeige von Detailansichten kommen. In Folge dessen war das gesamte Rendering der Anwendung gestört und die Seite musste manuell neu geladen werden.

    Betrifft: Process Monitoring |

  • Modul Upload führt zu OOM Exception BPC-9266

    Hochgeladene Dateien werden jetzt nicht mehr vollständig im Speicher vorgehalten. Dies reduziert den Speicherbedarf und vermeidet "OutOfMemeoryException".

    Betrifft: BPC Core |

Interne Abhängigkeiten / Dependency Updates

  • Update Karaf, CXF und Jackson BPC-9264

    Mit diesem Update ist erforderlich den Karaf und die Module bpc-be-core, bpc-be-analysis, bpc-be-forms und bpc-be-monitor zu aktualisieren.

    Für BPC Modul-Entwickler:innen

    In unseren früheren Karaf-Versionen haben wir CXF Version 3.5.4 verwendet. Diese CXF-Version bietet Jackson in der Version 2.14.3. Jetzt liefern wir Karaf mit CXF 3.6.5 aus, die Jackson in der Version 2.17.2 bereitstellt.

    Bitte aktualisieren Sie die CXF-Version (3.6.5) in Ihrer pom.xml. Und noch wichtiger ist, dass Sie auch die verwendete Jackson-Version (2.17.2) aktualisieren. 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.

    Replace

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
    ...
    </Import-Package>

    with

    <Import-Package>
    ...
    com.fasterxml.jackson.*;version="[2.17.2,3.0.0)",
    ...
    </Import-Package>

BPC 4.1.20

Release Datum: 2025-01-13

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

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

Verbesserungen

  • Reduziertes Log-Level BPC-8660

    Das Log-Level für das BPC Plugin im OpenSearch wurde von trace auf info reduziert. Diese Einstellung ist in der Datei opensearch/config/log4j2.properties zu finden.

    Betrifft: OpenSearch |

  • Commit-Datum anstatt Build-Datum in Bundle Info BPC-9174

    Im Bundle-Info, dass über die Karaf-Konsole abrufbar ist, wird nun nicht mehr der Zeitpunkt des Builds angezeigt, sondern der Zeitpunkt der letzten Änderung am zugrunde liegenden Quelltext.

Bugs

  • PDF kann in der Monitor Detailansicht nicht angezeigt werden BPC-9104

    Betrifft: Process Monitoring |

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.19

Release Datum: 2024-12-16

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

Neue Funktionen

  • Aktualisierung der Einstellungen für IGUASU Instanztyp in Flow BPC-8863

    Ab IGUASU Version 3.0.6 funktioniert der Sprung von der BPC Flow Prozessor Übersicht direkt zum IGUASU Prozessor. “Frontend URL” und “System ID” sind jetzt im Flow Manager verfügbar. “URL” wurde in “Service-URL” umbenannt. Benutzername und Passwort sind nicht mehr erforderlich. Lange Beschreibungen der Prozessoren werden gekürzt dargestellt, mit vollständigem Text im Tooltip.

    Betrifft: BPC Core |

Verbesserungen

  • 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 |

  • Felder mit dem Typ "object" und "flat_object" sollen durch die Standardkonfiguration im Monitor korrekt dargestellt werden BPC-9144

    Felder die geschachtelte JSON Objekte enthalten, erhalten in der initialen Spaltkonfiguration "formatter" : "jsonStringify". Dadurch werden die Inhalte in Text überführt und im Monitor dargestellt.

    Betrifft: Process Monitoring |

Bugs

  • Neu Verteilung von Replikationen im Cluster wird nicht immer ausgelöst BPC-8504

    Es wurde ein Fehler behoben, der dazu führte, dass bei Änderungen der Knoten im BPC Cluster, die einzelnen Replikationsjobs nicht korrekt auf alle verfügbaren Knoten aufgeteilt wurden.

    Betrifft: OpenSearch |

  • OpenSearch kann nicht per HTTP angesprochen werden BPC-8800

    Obwohl für die OpenSearch Verbindung mit http konfiguriert wurde, wurden Versucht den TLS Kontext anhand der Konfiguration herzustellen. Wenn diese Konfiguration jedoch nicht korrekt war, dann kam es zu einem Fehler.

    Die Konfiguration wird nun ignoriert, da diese bei http Verbindungen nicht relevant sind.

    Dennoch wird empfohlen an dieser Stelle gesicherte Verbindungen zu nutzen.

    Betrifft: BPC Core |

  • Replikation und Tail Sync sorgen für inkonsistenten Datenbestand BPC-9088

    Es gab diverse Probleme, wenn in der Datenbanktabelle die Zeitzone der "Letzte Aktualisierungsspalte" auf UTC gesetzt ist: - Der Tail Sync löschte nicht immer alle Sätze. - Stattdessen aktualisierte er bei jedem Durchlauf alle Sätze. - Das Zusammenspiel mit der Replikation kam ebenfalls durcheinander.

    Betrifft: BPC Core |

  • BPC prometheus Metrik bpc_module exportiert falsche Versionsinfos BPC-9119

    Betrifft: BPC Core |

Dokumentation

BPC 4.1.18

Release Datum: 2024-11-18

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | OpenSearch | OpenSearch Plugin | 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.

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

Neue Funktionen

Verbesserungen

  • Unnötige Fehlerlogs mit MaintenanceModeEnabledException BPC-8784

    Betrifft: BPC Core |

Bugs

  • Beim Imitieren wird die Sprache des imitierenden Nutzers im imitierten Nutzer gespeichert BPC-8864

    Beim imitieren anderer Benutzer kann die Sprache nicht mehr im Keycloak Profil des imitierten Users verändert werden. Damit dies funktioniert, muss im Keycloak korrekt konfiguriert werden, dass Impersonator Informationen über einen aktiven Scope mitgegeben werden.

    Betrifft: BPC Core |

  • Entfernen obsoleter grid_showHeader Konfiguration BPC-8912

    Die Konfiguration grid_showHeader ist obsolet, da diese Fehler verursacht. Das Verhalten vom Header wird seit geraumer Zeit mit dem Parameter moduleHeader_enabled gesteuert. Das Setting wird beim BPC Update automatisch entfernt.

Dokumentation

  • Karaf Zugriff BPC-8246

    Karaf Zugriff per SSH wird detaillierter beschrieben und es wurden nützliche Hinweise hinzugefügt.

    Folgende Dokumentationsseiten wurde geändert.

    Betrifft: Dokumentation |

Interne Abhängigkeiten / Dependency Updates

Sonstiges

  • Update Java BPC-9016

    Betrifft:

BPC 4.1.17

Release Datum: 2024-10-18

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

Neue Funktionen

  • LocalStorage soll beim BPC Update automatisch verworfen werden BPC-6268

    Beim Laden des BPCs wird die Versionsnummer des Core-Common-Packages (Fe-Core) ermittelt und im Local Storage hinterlegt. Weicht diese Versionsnummer von derjenigen ab, die beim vorherigen Ladevorgang gespeichert wurde, wird der Local Storage zurückgesetzt.

    Betrifft: BPC Core |

  • 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 |

Sonstiges

  • Update Java BPC-8962

    Betrifft:

BPC 4.1.16

Release Datum: 2024-09-23

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

Verbesserungen

Bugs

  • Opensearch: BpcPlugin - ConcurrentModificationException BPC-8852

    Betrifft: OpenSearch |

BPC 4.1.15

Release Datum: 2024-08-26

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

Security

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.14

Release Datum: 2024-07-02

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

Verbesserungen

  • Neuanmeldung bei IP Pinning Problemen ermöglichen BPC-8179

    Kommt es zu einem IP Pinning Fehler, so kann man sich nun nach einem Neuladen der Seite im Browser normal anmelden. Der Fehler wird nicht erneut angezeigt (es sei denn die IP ändert sich erneut).

    Betrifft: BPC Core |

BPC 4.1.13

Release Datum: 2024-06-04

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

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.

  • Maximaler Arbeitsspeicher für Karaf wird anders konfiguriert BPC-8542

    In aktuellen Karaf Versionen wurden Karaf spezifische Umgebungsvariablen zum setzen des JVM Speichers entfernt und müssen durch eine Alternative ersetzt werden.

    Linux

    Bitte in der bpc.env.sh

    # Karaf
    export JAVA_MIN_MEM=128M
    export JAVA_MAX_MEM=512M

    durch

    # Karaf
    export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"

    ersetzen und die Werte entsprechend übernehmen.

    Windows

    Bitte in der bpc.env.cmd

    rem *** Karaf ***
    SET JAVA_MIN_MEM=128M
    SET JAVA_MAX_MEM=512M

    durch

    rem *** Karaf ***
    SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m

    ersetzen und die Werte entsprechend übernehmen.

    Betrifft: Dokumentation |

Verbesserungen

  • Maximaler Arbeitsspeicher für Karaf wird anders konfiguriert BPC-8542

    In aktuellen Karaf Versionen wurden Karaf spezifische Umgebungsvariablen zum setzen des JVM Speichers entfernt und müssen durch eine Alternative ersetzt werden.

    Linux

    Bitte in der bpc.env.sh

    # Karaf
    export JAVA_MIN_MEM=128M
    export JAVA_MAX_MEM=512M

    durch

    # Karaf
    export EXTRA_JAVA_OPTS="$EXTRA_JAVA_OPTS -Xms128m -Xmx512m"

    ersetzen und die Werte entsprechend übernehmen.

    Windows

    Bitte in der bpc.env.cmd

    rem *** Karaf ***
    SET JAVA_MIN_MEM=128M
    SET JAVA_MAX_MEM=512M

    durch

    rem *** Karaf ***
    SET EXTRA_JAVA_OPTS=%EXTRA_JAVA_OPTS% -Xms128m -Xmx512m

    ersetzen und die Werte entsprechend übernehmen.

    Betrifft: Dokumentation |

BPC 4.1.12

Release Datum: 2024-05-06

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

Bugs

  • Abweichungen in der Konsistenzprüfung der Replikation BPC-8494

    Betrifft: BPC Core |

Dokumentation

  • Typo bei der Einrichtung als Windows-Dienste BPC-8452

BPC 4.1.11

Release Datum: 2024-04-08

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | OpenSearch | 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.

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

Bugs

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.10

Release Datum: 2024-03-11

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

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.

  • Karaf Log Monitor BPC-7550

    Karaf Logs werden nun über einen Monitor bereitgestellt (siehe auch Karaf Log).

    Für das Schreiben der Karaf Logs in den OpenSearch-Index bpc-logs wird die Zusatzkomponente 'Decanter' verwendet. Bei einer neuen Installation des Karafs ist diese Komponente bereits vorinstalliert und es muss nichts gemacht werden. Falls eine vorhandene Karaf-Installation nicht ersetzt werden kann oder soll, dann kann diese auch per Karaf-Konsole nachinstalliert werden (Internet Verbindung notwendig).

    virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter
    virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-log

    Für die Konfiguration der Funktion siehe Karaf Log.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Kompilierung nach Java 17 BPC-8333

    Durch diese Änderung ist der Einsatz von Java 17 nun verpflichtend und der Java 11 Support ist beendet.

  • Update Karaf BPC-8353

    Karaf muss mit diesem Update aktualisiert werden.

    Betrifft: BPC Core | Karaf |

Neue Funktionen

  • Karaf Log Monitor BPC-7550

    Karaf Logs werden nun über einen Monitor bereitgestellt (siehe auch Karaf Log).

    Für das Schreiben der Karaf Logs in den OpenSearch-Index bpc-logs wird die Zusatzkomponente 'Decanter' verwendet. Bei einer neuen Installation des Karafs ist diese Komponente bereits vorinstalliert und es muss nichts gemacht werden. Falls eine vorhandene Karaf-Installation nicht ersetzt werden kann oder soll, dann kann diese auch per Karaf-Konsole nachinstalliert werden (Internet Verbindung notwendig).

    virtimo@bpc [virtimo@bpc]()> feature:repo-add decanter
    virtimo@bpc [virtimo@bpc]()> feature:install decanter-collector-log

    Für die Konfiguration der Funktion siehe Karaf Log.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Health-Endpunkt für Cluster-Master BPC-7915

    Neuer Status-Endpunkt zur Abfrage der Rolle einzelner Knoten im Clusterbetrieb. Über diesen Endpunkt kann nun überprüft werden, ob ein Knoten die "master"-Rolle hat oder nicht. Siehe auch BPC API /cxf/bpc-core/status/clustermaster

    Betrifft: BPC Core | Dokumentation |

Verbesserungen

Interne Abhängigkeiten / Dependency Updates

  • Update Karaf BPC-8353

    Karaf muss mit diesem Update aktualisiert werden.

    Betrifft: BPC Core | Karaf |

BPC 4.1.9

Release Datum: 2023-12-15

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.

  • Karaf Version auf Statusseite anzeigen BPC-8260

    Es ist das Update des OpenSearch Plugins (os-bpc-plugin) nötig.

    Betrifft: BPC Core | OpenSearch |

Verbesserungen

  • Karaf Version auf Statusseite anzeigen BPC-8260

    Es ist das Update des OpenSearch Plugins (os-bpc-plugin) nötig.

    Betrifft: BPC Core | OpenSearch |

  • Dashboard Modul auf Frontend reduziert BPC-8279

    Bei bestehenden Installationen kann die Datei bpc-be-dashboard.jar ersatzlos entfallen und aus dem KARAF/deploy Verzeichnis gelöscht werden. Das Dashboard Modul besteht nur noch aus der Datei bpc-fe-dashboard.war.

BPC 4.1.8

Release Datum: 2023-11-21

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

BPC 4.1.7

Release Datum: 2023-10-23

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | OpenSearch | 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.

  • Update OpenSearch BPC-8015

    Aktualisieren Sie OpenSearch entsprechend der Updateanleitung

    Falls in der Zentralen Konfigurationsdatei bpc.env.sh die Umgebungsvariable KARAF_PAX_JDBC_FEATURES_TO_INSTALL verwendet wird, sicherstellen daß das neue Modul PAX JDBC Feature Installer installiert ist.

    Verwenden Backend Modul Entwickler den OpenSearch REST High Level Client, dann müssen höchstwahrscheinlich Packages angepasst werden, da OpenSearch hier einige Klassen verschoben hat.

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

  • Update OpenSearch BPC-8015

    Aktualisieren Sie OpenSearch entsprechend der Updateanleitung

    Falls in der Zentralen Konfigurationsdatei bpc.env.sh die Umgebungsvariable KARAF_PAX_JDBC_FEATURES_TO_INSTALL verwendet wird, sicherstellen daß das neue Modul PAX JDBC Feature Installer installiert ist.

    Verwenden Backend Modul Entwickler den OpenSearch REST High Level Client, dann müssen höchstwahrscheinlich Packages angepasst werden, da OpenSearch hier einige Klassen verschoben hat.

Interne Abhängigkeiten / Dependency Updates

  • Update OpenSearch BPC-8015

    Aktualisieren Sie OpenSearch entsprechend der Updateanleitung

    Falls in der Zentralen Konfigurationsdatei bpc.env.sh die Umgebungsvariable KARAF_PAX_JDBC_FEATURES_TO_INSTALL verwendet wird, sicherstellen daß das neue Modul PAX JDBC Feature Installer installiert ist.

    Verwenden Backend Modul Entwickler den OpenSearch REST High Level Client, dann müssen höchstwahrscheinlich Packages angepasst werden, da OpenSearch hier einige Klassen verschoben hat.

BPC 4.1.6

Release Datum: 2023-09-25

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

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

  • Update Karaf BPC-8077

    Karaf muss mit diesem Update aktualisiert werden.

    Der Login auf die Karaf-Konsole via ssh ist für Benutzer aus der users.properties im Standard nicht mehr erlaubt. Um Benutzern den Login via ssh zu erlauben, fügen Sie die Rolle ssh in der Datei KARAF/etc/users.properties den einzelnen Benutzers hinzu oder fügen Sie die Rolle der admingroup hinzu.

    Betrifft: BPC Core | Karaf |

  • Entfernen vom BPC default Public Key aus keys.properties BPC-8210

    Einträge in der Datei KARAF/etc/keys.properties, die von Ihnen nicht für einen Login mit public/private Key genutzt werden, können entfernt werden.

    Betrifft: Karaf |

Security

  • Entfernen vom BPC default Public Key aus keys.properties BPC-8210

    Einträge in der Datei KARAF/etc/keys.properties, die von Ihnen nicht für einen Login mit public/private Key genutzt werden, können entfernt werden.

    Betrifft: Karaf |

Interne Abhängigkeiten / Dependency Updates

  • Update Karaf BPC-8077

    Karaf muss mit diesem Update aktualisiert werden.

    Der Login auf die Karaf-Konsole via ssh ist für Benutzer aus der users.properties im Standard nicht mehr erlaubt. Um Benutzern den Login via ssh zu erlauben, fügen Sie die Rolle ssh in der Datei KARAF/etc/users.properties den einzelnen Benutzers hinzu oder fügen Sie die Rolle der admingroup hinzu.

    Betrifft: BPC Core | Karaf |

BPC 4.1.5

Release Datum: 2023-08-28

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

BPC 4.1.4

Release Datum: 2023-08-14

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.

  • OpenSearch Cluster Betrieb: Socket Timeouts im os-bpc-plugin BPC-8059

    Falls gesetzt, die folgenden nicht mehr benötigten os-bpc-plugin spezifischen Settings aus der conf/opensearch.yml entfernen.

    • os-bpc-plugin.opensearch.basicauth.username

    • os-bpc-plugin.opensearch.basicauth.password

    • os-bpc-plugin.trust_certificates

    • os-bpc-plugin.verify_hostnames

    • os-bpc-plugin.truststore.path

    • os-bpc-plugin.truststore.type

    • os-bpc-plugin.truststore.password

    Wird dies nicht getan, dann startet OpenSearch nicht und bringt den Fehler "please check that any required plugins are installed, or check the breaking changes documentation for removed settings".

    Betrifft: Dokumentation | OpenSearch |

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Betrifft nur Modulentwickler Bei der Verwendung des BPC JsonEditors (xtype bpcJsonField bzw. bpcCodeEditorWindow.json) wird das optionale JSON Schema nun via schema und nicht mehr per jsonSchema übergeben.

    Betrifft: BPC Core |

  • ungewolltes trim bei Sprung BPC-7961

    Der Inhalt der Monitor Sprungspalte wurde bisher beim Filtern im Zielmonitor getrimmt (Entfernung von Leerzeichen am Anfang und Ende). Dies wird nun nicht mehr gemacht, damit man spezifisch auf Werte mit Leerzeichen am Anfang oder Ende filtern kann.
    Sollten Sie in Ihrer Monitor Sprungspalte Werte mit zusätzlichen Leerzeichen nutzen (z.B. auch im Zusammenhang mit dem separator), die nicht den Zielwerten im Ziel-Monitor entsprechen, müssen diese ggf. entfernt werden.

    Betrifft: Process Monitoring |

Neue Funktionen

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Betrifft nur Modulentwickler Bei der Verwendung des BPC JsonEditors (xtype bpcJsonField bzw. bpcCodeEditorWindow.json) wird das optionale JSON Schema nun via schema und nicht mehr per jsonSchema übergeben.

    Betrifft: BPC Core |

Bugs

  • OpenSearch Cluster Betrieb: Socket Timeouts im os-bpc-plugin BPC-8059

    Falls gesetzt, die folgenden nicht mehr benötigten os-bpc-plugin spezifischen Settings aus der conf/opensearch.yml entfernen.

    • os-bpc-plugin.opensearch.basicauth.username

    • os-bpc-plugin.opensearch.basicauth.password

    • os-bpc-plugin.trust_certificates

    • os-bpc-plugin.verify_hostnames

    • os-bpc-plugin.truststore.path

    • os-bpc-plugin.truststore.type

    • os-bpc-plugin.truststore.password

    Wird dies nicht getan, dann startet OpenSearch nicht und bringt den Fehler "please check that any required plugins are installed, or check the breaking changes documentation for removed settings".

    Betrifft: Dokumentation | OpenSearch |

  • ungewolltes trim bei Sprung BPC-7961

    Der Inhalt der Monitor Sprungspalte wurde bisher beim Filtern im Zielmonitor getrimmt (Entfernung von Leerzeichen am Anfang und Ende). Dies wird nun nicht mehr gemacht, damit man spezifisch auf Werte mit Leerzeichen am Anfang oder Ende filtern kann.
    Sollten Sie in Ihrer Monitor Sprungspalte Werte mit zusätzlichen Leerzeichen nutzen (z.B. auch im Zusammenhang mit dem separator), die nicht den Zielwerten im Ziel-Monitor entsprechen, müssen diese ggf. entfernt werden.

    Betrifft: Process Monitoring |

BPC 4.1.3

Release Datum: 2023-07-03

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

BPC 4.1.2

Release Datum: 2023-06-05

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

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

  • Im OpenSearch Cluster werden die Daten des os-bpc-plugin nicht zuverlässig zwischen den Nodes synchronisiert BPC-7768

    Eine Aktualisierung von OpenSearch bzw. des os-bpc-plugin ist erforderlich.

    Betrifft: BPC Core | OpenSearch |

Bugs

  • Im OpenSearch Cluster werden die Daten des os-bpc-plugin nicht zuverlässig zwischen den Nodes synchronisiert BPC-7768

    Eine Aktualisierung von OpenSearch bzw. des os-bpc-plugin ist erforderlich.

    Betrifft: BPC Core | OpenSearch |

BPC 4.1.1

Release Datum: 2023-05-08

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.

  • Umbenennung der Funktion BpcCommon.Api.getInstanceUrl in BpcCommon.Api.getModuleUrl BPC-7902

    Der Name der Common-Funktion "getInstanceUrl" (eingeführt mit BPC 4.1.0) wird durch "getModuleUrl" ersetzt.

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

Verbesserungen

  • Umbenennung der Funktion BpcCommon.Api.getInstanceUrl in BpcCommon.Api.getModuleUrl BPC-7902

    Der Name der Common-Funktion "getInstanceUrl" (eingeführt mit BPC 4.1.0) wird durch "getModuleUrl" ersetzt.

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.0

Release Datum: 2023-03-27

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.

  • ChildLog soll kein "eval" für Filter und Renderer verwenden BPC-5375

    Um Skripting-Angriffe zu vermeiden, können nun keine Renderer als JavaScript in Textform mehr an den Spalten definiert werden. Eigene Renderer-Funktionen können wie hier beschrieben referenziert werden. Formatierungsfunktionen aus Ext.util.Format können über die Angabe des formatter genutzt werden. Siehe dazu: Spaltenkonfiguration

    Betrifft: Process Monitoring |

  • Umstellung auf OpenSearch BPC-5819

  • Update Karaf BPC-6709

    Für dieses BPC Update ist ein Update des Karaf verpflichtend.

    Kunden Themes und eigene BPC Module müssen so angepasst werden, dass der Web-ContextPath und Webapp-Context in der Manifest-Datei zwingend mit einem / beginnen. Um dies zu erreichen, kann in der Regel die Datei build.gradle angepasst werden. Ein Beispiel kann https://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52 [https://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52][hier] eingesehen werden.

    In der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg wurden Parameter umbenannt:

    org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password
    org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
  • Unsere Backend API als Maven Modul BPC-6872

    Wir mussten einige Interfaces/Klassen aus dem Paket de.virtimo.bpc.core in das Paket de.virtimo.bpc.api verschieben.

    Wenn Sie Ihren Code für 4.0.8 oder 4.1 kompilieren und Fehler erhalten, dann passen Sie bitte die Java imports an. In den meisten Fällen müssen Sie nur .core. durch .api. ersetzen. Ansonsten löschen Sie den Import und lassen Sie die IDE ihn für Sie finden.

    Und bitte stellen Sie sicher, dass Sie keine <Import-Package> Anweisungen in Ihrer pom.xml zu den folgenden Paketen haben:

    • de.virtimo.bpc.core.exception

    • de.virtimo.bpc.auth.*

    • de.virtimo.bpc.core.es.querybuilder

  • Package der Util-Klassen aus dem 'util'-Modul anpassen BPC-6886

    Falls BPC Core utils Klassen verwendet wurden.

    Bitte die Java import Statements anpassen

    • ALT : de.virtimo.bpc.core.utils.*

    • NEU : de.virtimo.bpc.util.*

    Un die pom.xml (<Import-Package>)

    • ALT : de.virtimo.bpc.core.utils;version="[4.0,5.0)",

    • NEU : de.virtimo.bpc.util;version="[4.0,5.0)",

  • BpcTrustStoreUtil ins util-Modul verschieben BPC-6924

    Falls folgendes verwendet wurde

    de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…​)

    dann Bitte ersetzen durch

    de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…​)

    Betrifft: BPC Core |

  • Umbenennung von Attributen im Context der Plugin Hooks BPC-7379

    Für BPC Entwickler

    Plugins erhalten beim Aufruf ein context übergeben. Zwei Attribute im Objekt context wurden umbenannt. Aus moduleId wurde baseModuleId und aus instanceId wurde moduleId.

  • Notwendige Anpassung der Backend-Module bei Verwendung der BPC Annotations: @BpcUserSessionRequired, …​ BPC-7384

    Relevant für BPC Modul Entwickler / Important for BPC Developers

    This is only necessary, when you use one of the following annotations in your backend modules/bundles:

    • @BpcUserSessionRequired

    • @BpcRoleRequired

    • @BpcRightRequired

    • @BpcRoleOrRightRequired

    • @BpcHardcodedBasicAuthentication

    If this is the case, then please update your resources/OSGI-INF/blueprint/context.xml

    and replace

     <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker"/>

    with

     <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown">     <argument ref="blueprintBundleContext"/>  </bean>

  • Starke Passwort Verschlüsselung BPC-7390

    Durch das Karaf Update wird nun ein stärkerer Algorithmus zum hashen der Passwörter verwendet. Dies wirkt sich auf alle JAAS basierten https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html][Identity Provider] und den Login auf die Karaf-Konsole aus. Alle bestehenden Benutzerpasswörter können anschließend nicht mehr validiert werden und müssen neu angelegt werden!

    Sollten Sie die alten Benutzerpasswörter weiter verwenden wollen, müssen Sie weiterhin den alten Algorithmus zum Hashen der Passwörter verwenden. Dies wird im Folgenden beschrieben. Wenn Sie den neuen Algorithmus verwenden wollen, müssen Sie die folgenden Schritte nicht befolgen.

    Die Verwendung von schwachen Algorithmen stellt ein potenzielles Sicherheitsrisiko dar.

    Ergänzen Sie die bpc.env um folgende Werte, um den alten Algorithmus beizubehalten.

    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENABLED=true
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_NAME=basic
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ALGORITHM=SHA-512
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENCODING=hexadecimal

    Konfiguration über Karaf Konfigurationsdateien

    Ändern Sie in der Konfigurationsdatei [karaf]/etc/org.apache.karaf.jaas.cfg die folgenden Werte. Dadurch wird wieder die vorherige (schwache) Verschlüsselung verwendet.

    encryption.name = basic
    encryption.algorithm = SHA-512

    Existierendes JAAS JDBC

    Die Virtimo JAAS JDBC Implementierung verwendet nun die Passwort-Verschlüsselungseinstellungen der Datei: [karaf]/etc/org.apache.karaf.jaas.cfg. Diese stimmen nicht mit den bisher verwendeten überein.

    Falls also bereits JAAS JDBC verwendet wurde und die bestehenden (schwachen) Hashes weiter verwendet werden sollen, dann bitte folgende Datei anlegen: [karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.cfg

    Folgender Inhalt setzt die frühere (schwache) Konfiguration:

    • bis BPC 4.0.15

       encryption.enabled = true
       encryption.name = basic
       encryption.algorithm = SHA-512
       encryption.encoding = hexadecimal
       encryption.prefix = {CRYPT}
       encryption.suffix = {CRYPT}

      In der Datenbanktabelle müssen dann leider noch alle Passwort-Hashes mit dem Prefix und Suffix ergänzt werden. Beispiel: PasswortHash{CRYPT}PasswortHash{CRYPT}. Ab der BPC Version 4.0.15 ist diese Anpassung nicht mehr notwendig.

    • ab BPC 4.0.15

       encryption.enabled = true
       encryption.name = basic
       encryption.algorithm = SHA-512
       encryption.encoding = hexadecimal
       encryption.prefix =
       encryption.suffix =

      Damit werden wie zuvor die Passwörter ohne einen Prefix und Suffix in der Datenbanktabelle abgelegt.

    Um einen sichereren Hash-Algorithmus wie argon2 zu verwenden, müssen alle Passwörter neu erstellt und somit zurückgesetzt werden.

    Nach Anpassung dieser Einstellungen ist der Karaf neu zu starten.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Content Security Policy BPC-7443

    Es wird eine Content Security Policy(CSP) per HTTP Header gesetzt. Dies kann Auswirkungen auf eigene Module, INUBIT WebApps oder integrierte Fremdanwendungen haben. Zum Anpassen der CSP siehe Content Security Policy

  • Apache CXF BPC-7546

    We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson in version 2.13.4. Now we ship Karaf with CXF 3.5.5, which provides Jackson in the version 2.14.1.

    Please update the CXF version (3.5.4 → 3.5.5) in your pom.xml. And more important is to update also the used Jackson version. For this check if you have an Import-Package statement for it. This must be added or adjusted when you use Jackson functionality like the ObjectMapper class.

    Replace

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.11.0,2.14.0)",
      ...
    </Import-Package>

    with

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
      ...
    </Import-Package>
  • Weitere Dashboard (Widget) Zustände sollen lokal vorgehalten werden BPC-7809

    Dashboard Einstellung Dashboard_Responsive(ID: module_isResponsive) und Dashboard_Layout(ID: layout_config) entfallen. Dashboards sind nun per default "responsive" und nutzen die verfügbare Fläche in ihrer Spalte aus. Widget lassen sich nun vom Benutzer in Höhe und Breite anpassen. Diese Änderungen werden im Browser vorgehalten, können von berechtigten Benutzer aber auch am Dashboard gespeichert werden. Das zurücksetzen von lokalen Änderung ist nicht mehr am Widget möglich, sondern wird über eine Schaltfläche in einer der Toolbars angeboten. Damit die Schaltfläche erscheint, muss in einer der Einstellungen ModuleHeader_Content, Toolbar_LeftContent oder Toolbar_RightContent der Wert "resetUserState" hinzugefügt werden.

  • ReplicationInfoService durch einen Endpunkt ersetzen BPC-7822

    Statusinformationen zur Replikation werden nicht mehr am Monitor angezeigt. Diese Statusinformationen werden in einem zukünftigen Release via Plugin nachgereicht.

  • Unser 'Checker' und 'BpcService' Interface verschieben BPC-6864

    Falls Sie Folgendes verwendet haben

    de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);

    dann verwenden Sie bitte

    de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);

    stattdessen.

    Betrifft: BPC Core |

  • Core Module wie die Benutzerverwaltung funktionieren in Untermenüs der Navigation nicht BPC-7784

    Für BPC-Modulentwickler

    Es gab eine nicht dokumentierte Funktion, die global, an allen Komponenten mit dem Attribut targetModule, auf den Event click, reagiert. Dabei wurde der Wert von targetModule an die Methode BpcCommon.Api.showModule übergeben und hat so eine Navigation zu diesem Modul ausgelöst. Diese Funktion wurde nun entfernt. Wenn Sie das Attribut targetModule, z.B. an Buttons, zur Navigation genutzt haben, müssen Sie dies durch einen eigenen Handler, der nur Ihre Komponenten betrifft, einrichten.

    Betrifft: BPC Core |

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

  • Relevante Karaf Konfigurationen aus Karaf Ordner "ziehen" BPC-6681

    Eine große Bitte, bei einem Karaf Update nicht einfach alle etc-Dateien aus der alten in die neue Installation kopieren. Dadurch sind dann evtl. neue Karaf Optionen nicht gesetzt und im schlimmsten Fall lässt sich der Karaf nicht starten.

    Und wenn irgendwie möglich, keine [karaf]/etc Dateien manuell ändern und stattdessen die Anpassungen über die bpc.env.sh (Linux/macOS) bzw. bpc.env.cmd (Windows) vornehmen. Das erleichtert die Karaf Updates ungemein und kann in den BPC Versionen >= 3.4 verwendet werden. Siehe dazu Zentrale Konfigurationsdatei.

    Per Werte von etc-Dateien überschreiben können die meisten Anpassungen vorgenommen werden, ohne dass eine etc-Datei editiert werden muss.

    Wenn zum Beispiel der Pfad zu den Keystore und Truststore Dateien anders gesetzt werden soll: Die Festlegung der Pfade befinden sich in der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg in den Optionen org.ops4j.pax.web.ssl.keystore und org.ops4j.pax.web.ssl.truststore.

    Um nun die Pfade der beiden Optionen anders zu setzen, können zwei Umgebungsvariablen in der bpc.env.sh hinzugefügt werden:

     export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_KEYSTORE=/opt/bpc.env/ssl/virtimo_keystore.jks  export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_TRUSTSTORE=/opt/bpc.env/ssl/virtimo_truststore.jks

    Noch ein Beispiel wie in der [karaf]/etc/de.virtimo.bpc.core.cfg die Option de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB gesetzt werden kann:

     export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_MAINTENANCEMODE_FILESYSTEMLIMITINMB=4096

    Eine Einschränkung wird mit dem nächsten Karaf Update behoben. Das Deployverzeichnis ([karaf]/deploy) kann derzeit wegen eines "Bugs" nicht per Umgebungsvariable gesetzt werden. Das betrifft die Option felix.fileinstall.dir in der Konfigurationsdatei [karaf]/etc/org.apache.felix.fileinstall-deploy.cfg.

    Drei Dateien sollten je nach Verwendung kopiert bzw. durch symbolische Links ersetzt werden:

    • [karaf]/etc/users.properties

    • [karaf]/etc/org.ops4j.pax.logging.cfg

    • [karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.queries.cfg

    Dies ist natürlich nur notwendig, wenn diese überhaupt angepasst wurden. Die Optionen in den beiden cfg-Dateien könnten zwar auch über Umgebungsvariablen gesetzt werden, da müssten dann aber einige Umgebungsvariablen gesetzt werden.

    Betrifft: Dokumentation |

  • Karaf Update BPC-7374

    Ein Update des Karaf wird aus Gründen der Sicherheit dringend empfohlen.

    Betrifft: BPC Core | Karaf |

Neue Funktionen

  • Personalisierte Monitor Ansichten BPC-5331

    Monitor Ansichten die Mit einer BPC Version < 2.1.6 angelegt wurden, werden nicht mehr unterstützt. Um diese Ansichten zu erhalten müssen diese einmal im "Ansichten Verwalten" Dialog geöffnet und gespeichert werden. Durch diesen Vorgang werden die Ansichten im richtigen Format gespeichert.

Verbesserungen

  • API Key ID BPC-6666

    Betrifft: BPC Core | Dokumentation |

  • Relevante Karaf Konfigurationen aus Karaf Ordner "ziehen" BPC-6681

    Eine große Bitte, bei einem Karaf Update nicht einfach alle etc-Dateien aus der alten in die neue Installation kopieren. Dadurch sind dann evtl. neue Karaf Optionen nicht gesetzt und im schlimmsten Fall lässt sich der Karaf nicht starten.

    Und wenn irgendwie möglich, keine [karaf]/etc Dateien manuell ändern und stattdessen die Anpassungen über die bpc.env.sh (Linux/macOS) bzw. bpc.env.cmd (Windows) vornehmen. Das erleichtert die Karaf Updates ungemein und kann in den BPC Versionen >= 3.4 verwendet werden. Siehe dazu Zentrale Konfigurationsdatei.

    Per Werte von etc-Dateien überschreiben können die meisten Anpassungen vorgenommen werden, ohne dass eine etc-Datei editiert werden muss.

    Wenn zum Beispiel der Pfad zu den Keystore und Truststore Dateien anders gesetzt werden soll: Die Festlegung der Pfade befinden sich in der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg in den Optionen org.ops4j.pax.web.ssl.keystore und org.ops4j.pax.web.ssl.truststore.

    Um nun die Pfade der beiden Optionen anders zu setzen, können zwei Umgebungsvariablen in der bpc.env.sh hinzugefügt werden:

     export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_KEYSTORE=/opt/bpc.env/ssl/virtimo_keystore.jks  export ORG_OPS4J_PAX_WEB_ORG_OPS4J_PAX_WEB_SSL_TRUSTSTORE=/opt/bpc.env/ssl/virtimo_truststore.jks

    Noch ein Beispiel wie in der [karaf]/etc/de.virtimo.bpc.core.cfg die Option de.virtimo.bpc.core.maintenancemode.fileSystemLimitInMB gesetzt werden kann:

     export DE_VIRTIMO_BPC_CORE_DE_VIRTIMO_BPC_CORE_MAINTENANCEMODE_FILESYSTEMLIMITINMB=4096

    Eine Einschränkung wird mit dem nächsten Karaf Update behoben. Das Deployverzeichnis ([karaf]/deploy) kann derzeit wegen eines "Bugs" nicht per Umgebungsvariable gesetzt werden. Das betrifft die Option felix.fileinstall.dir in der Konfigurationsdatei [karaf]/etc/org.apache.felix.fileinstall-deploy.cfg.

    Drei Dateien sollten je nach Verwendung kopiert bzw. durch symbolische Links ersetzt werden:

    • [karaf]/etc/users.properties

    • [karaf]/etc/org.ops4j.pax.logging.cfg

    • [karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.queries.cfg

    Dies ist natürlich nur notwendig, wenn diese überhaupt angepasst wurden. Die Optionen in den beiden cfg-Dateien könnten zwar auch über Umgebungsvariablen gesetzt werden, da müssten dann aber einige Umgebungsvariablen gesetzt werden.

    Betrifft: Dokumentation |

  • Unsere Backend API als Maven Modul BPC-6872

    Wir mussten einige Interfaces/Klassen aus dem Paket de.virtimo.bpc.core in das Paket de.virtimo.bpc.api verschieben.

    Wenn Sie Ihren Code für 4.0.8 oder 4.1 kompilieren und Fehler erhalten, dann passen Sie bitte die Java imports an. In den meisten Fällen müssen Sie nur .core. durch .api. ersetzen. Ansonsten löschen Sie den Import und lassen Sie die IDE ihn für Sie finden.

    Und bitte stellen Sie sicher, dass Sie keine <Import-Package> Anweisungen in Ihrer pom.xml zu den folgenden Paketen haben:

    • de.virtimo.bpc.core.exception

    • de.virtimo.bpc.auth.*

    • de.virtimo.bpc.core.es.querybuilder

  • Package der Util-Klassen aus dem 'util'-Modul anpassen BPC-6886

    Falls BPC Core utils Klassen verwendet wurden.

    Bitte die Java import Statements anpassen

    • ALT : de.virtimo.bpc.core.utils.*

    • NEU : de.virtimo.bpc.util.*

    Un die pom.xml (<Import-Package>)

    • ALT : de.virtimo.bpc.core.utils;version="[4.0,5.0)",

    • NEU : de.virtimo.bpc.util;version="[4.0,5.0)",

  • BpcTrustStoreUtil ins util-Modul verschieben BPC-6924

    Falls folgendes verwendet wurde

    de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…​)

    dann Bitte ersetzen durch

    de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…​)

    Betrifft: BPC Core |

  • Umbenennung von Attributen im Context der Plugin Hooks BPC-7379

    Für BPC Entwickler

    Plugins erhalten beim Aufruf ein context übergeben. Zwei Attribute im Objekt context wurden umbenannt. Aus moduleId wurde baseModuleId und aus instanceId wurde moduleId.

  • Weitere Dashboard (Widget) Zustände sollen lokal vorgehalten werden BPC-7809

    Dashboard Einstellung Dashboard_Responsive(ID: module_isResponsive) und Dashboard_Layout(ID: layout_config) entfallen. Dashboards sind nun per default "responsive" und nutzen die verfügbare Fläche in ihrer Spalte aus. Widget lassen sich nun vom Benutzer in Höhe und Breite anpassen. Diese Änderungen werden im Browser vorgehalten, können von berechtigten Benutzer aber auch am Dashboard gespeichert werden. Das zurücksetzen von lokalen Änderung ist nicht mehr am Widget möglich, sondern wird über eine Schaltfläche in einer der Toolbars angeboten. Damit die Schaltfläche erscheint, muss in einer der Einstellungen ModuleHeader_Content, Toolbar_LeftContent oder Toolbar_RightContent der Wert "resetUserState" hinzugefügt werden.

  • ReplicationInfoService durch einen Endpunkt ersetzen BPC-7822

    Statusinformationen zur Replikation werden nicht mehr am Monitor angezeigt. Diese Statusinformationen werden in einem zukünftigen Release via Plugin nachgereicht.

  • Unser 'Checker' und 'BpcService' Interface verschieben BPC-6864

    Falls Sie Folgendes verwendet haben

    de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);

    dann verwenden Sie bitte

    de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);

    stattdessen.

    Betrifft: BPC Core |

Security

  • ChildLog soll kein "eval" für Filter und Renderer verwenden BPC-5375

    Um Skripting-Angriffe zu vermeiden, können nun keine Renderer als JavaScript in Textform mehr an den Spalten definiert werden. Eigene Renderer-Funktionen können wie hier beschrieben referenziert werden. Formatierungsfunktionen aus Ext.util.Format können über die Angabe des formatter genutzt werden. Siehe dazu: Spaltenkonfiguration

    Betrifft: Process Monitoring |

  • Starke Passwort Verschlüsselung BPC-7390

    Durch das Karaf Update wird nun ein stärkerer Algorithmus zum hashen der Passwörter verwendet. Dies wirkt sich auf alle JAAS basierten https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html [https://docs.virtimo.net/bpc-docs/latest/core/admin/identity_provider/idp_config.html][Identity Provider] und den Login auf die Karaf-Konsole aus. Alle bestehenden Benutzerpasswörter können anschließend nicht mehr validiert werden und müssen neu angelegt werden!

    Sollten Sie die alten Benutzerpasswörter weiter verwenden wollen, müssen Sie weiterhin den alten Algorithmus zum Hashen der Passwörter verwenden. Dies wird im Folgenden beschrieben. Wenn Sie den neuen Algorithmus verwenden wollen, müssen Sie die folgenden Schritte nicht befolgen.

    Die Verwendung von schwachen Algorithmen stellt ein potenzielles Sicherheitsrisiko dar.

    Ergänzen Sie die bpc.env um folgende Werte, um den alten Algorithmus beizubehalten.

    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENABLED=true
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_NAME=basic
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ALGORITHM=SHA-512
    export ORG_APACHE_KARAF_JAAS_ENCRYPTION_ENCODING=hexadecimal

    Konfiguration über Karaf Konfigurationsdateien

    Ändern Sie in der Konfigurationsdatei [karaf]/etc/org.apache.karaf.jaas.cfg die folgenden Werte. Dadurch wird wieder die vorherige (schwache) Verschlüsselung verwendet.

    encryption.name = basic
    encryption.algorithm = SHA-512

    Existierendes JAAS JDBC

    Die Virtimo JAAS JDBC Implementierung verwendet nun die Passwort-Verschlüsselungseinstellungen der Datei: [karaf]/etc/org.apache.karaf.jaas.cfg. Diese stimmen nicht mit den bisher verwendeten überein.

    Falls also bereits JAAS JDBC verwendet wurde und die bestehenden (schwachen) Hashes weiter verwendet werden sollen, dann bitte folgende Datei anlegen: [karaf]/etc/de.virtimo.bpc.core.auth.jaas.jdbc.cfg

    Folgender Inhalt setzt die frühere (schwache) Konfiguration:

    • bis BPC 4.0.15

       encryption.enabled = true
       encryption.name = basic
       encryption.algorithm = SHA-512
       encryption.encoding = hexadecimal
       encryption.prefix = {CRYPT}
       encryption.suffix = {CRYPT}

      In der Datenbanktabelle müssen dann leider noch alle Passwort-Hashes mit dem Prefix und Suffix ergänzt werden. Beispiel: PasswortHash{CRYPT}PasswortHash{CRYPT}. Ab der BPC Version 4.0.15 ist diese Anpassung nicht mehr notwendig.

    • ab BPC 4.0.15

       encryption.enabled = true
       encryption.name = basic
       encryption.algorithm = SHA-512
       encryption.encoding = hexadecimal
       encryption.prefix =
       encryption.suffix =

      Damit werden wie zuvor die Passwörter ohne einen Prefix und Suffix in der Datenbanktabelle abgelegt.

    Um einen sichereren Hash-Algorithmus wie argon2 zu verwenden, müssen alle Passwörter neu erstellt und somit zurückgesetzt werden.

    Nach Anpassung dieser Einstellungen ist der Karaf neu zu starten.

    Betrifft: BPC Core | Dokumentation | Karaf |

  • Content Security Policy BPC-7443

    Es wird eine Content Security Policy(CSP) per HTTP Header gesetzt. Dies kann Auswirkungen auf eigene Module, INUBIT WebApps oder integrierte Fremdanwendungen haben. Zum Anpassen der CSP siehe Content Security Policy

Bugs

  • Core Module wie die Benutzerverwaltung funktionieren in Untermenüs der Navigation nicht BPC-7784

    Für BPC-Modulentwickler

    Es gab eine nicht dokumentierte Funktion, die global, an allen Komponenten mit dem Attribut targetModule, auf den Event click, reagiert. Dabei wurde der Wert von targetModule an die Methode BpcCommon.Api.showModule übergeben und hat so eine Navigation zu diesem Modul ausgelöst. Diese Funktion wurde nun entfernt. Wenn Sie das Attribut targetModule, z.B. an Buttons, zur Navigation genutzt haben, müssen Sie dies durch einen eigenen Handler, der nur Ihre Komponenten betrifft, einrichten.

    Betrifft: BPC Core |

Interne Abhängigkeiten / Dependency Updates

  • Update Karaf BPC-6709

    Für dieses BPC Update ist ein Update des Karaf verpflichtend.

    Kunden Themes und eigene BPC Module müssen so angepasst werden, dass der Web-ContextPath und Webapp-Context in der Manifest-Datei zwingend mit einem / beginnen. Um dies zu erreichen, kann in der Regel die Datei build.gradle angepasst werden. Ein Beispiel kann https://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52 [https://bitbucket.org/virtimo/bpc-theme-template/commits/469a13171aa82655b6f0475b38a561d2ebceee52][hier] eingesehen werden.

    In der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg wurden Parameter umbenannt:

    org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password
    org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
  • Karaf Update BPC-7374

    Ein Update des Karaf wird aus Gründen der Sicherheit dringend empfohlen.

    Betrifft: BPC Core | Karaf |

  • Apache CXF BPC-7546

    We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson in version 2.13.4. Now we ship Karaf with CXF 3.5.5, which provides Jackson in the version 2.14.1.

    Please update the CXF version (3.5.4 → 3.5.5) in your pom.xml. And more important is to update also the used Jackson version. For this check if you have an Import-Package statement for it. This must be added or adjusted when you use Jackson functionality like the ObjectMapper class.

    Replace

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.11.0,2.14.0)",
      ...
    </Import-Package>

    with

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
      ...
    </Import-Package>

Sonstiges

  • Umstellung auf OpenSearch BPC-5819

  • Notwendige Anpassung der Backend-Module bei Verwendung der BPC Annotations: @BpcUserSessionRequired, …​ BPC-7384

    Relevant für BPC Modul Entwickler / Important for BPC Developers

    This is only necessary, when you use one of the following annotations in your backend modules/bundles:

    • @BpcUserSessionRequired

    • @BpcRoleRequired

    • @BpcRightRequired

    • @BpcRoleOrRightRequired

    • @BpcHardcodedBasicAuthentication

    If this is the case, then please update your resources/OSGI-INF/blueprint/context.xml

    and replace

     <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker"/>

    with

     <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown">     <argument ref="blueprintBundleContext"/>  </bean>

  • Analysis: Elasticsearch durch OpenSearch ersetzen BPC-7454

    Betrifft: BPC Core | Data Analysis |

Übersicht der Karaf Updates

Übersicht der OpenSearch Updates

Übersicht Updates der internen BPC Konfiguration

In folgenden BPC Versionen wurde ein Update der internen BPC Konfiguration durchgeführt.